Afişează mesaje
Pagini: [1] 2
1  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Problema Race de la IOI 2011 : August 11, 2011, 21:21:59
Sunt de acord cu Daniel, la primele doua probleme merge o rezolvare in O(n) cu hash-uri ... Smile
2  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Algoritmica : August 01, 2011, 13:56:46
Toate mi se par foarte interesante.  M-ar mai interesa si algoritmii folositi in industria jocurilor Very Happy .
si pe mine m-ar interesa  Very Happy
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 072 Tri : Iulie 31, 2011, 14:37:41
Imi poate da cineva niste indicatii ? ... eu m-am gandit sa sortez punctele in functie de unghiu care il formeaza cu punctul B si axa Ox iar apoi sa determin unghiul segmentului BG cu Ox astfel incat numarul de puncte de-o parte si de alta sa fie echilibrat si acelasi lucru sa-l fac cu punctul C.
4  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: Lot Sibiu 2011 : Mai 15, 2011, 19:26:08
stie careva varianta online pentru probele de pregatire a lotului ?
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 018 Siruri 2-3-monotone : Februarie 26, 2011, 18:13:16
rezolvarea in O(N^2) consta in a declara un vector s cu semnificatia : s[ i ] = nr de siruri de lungime i cu elemente din multimea {1,..,i} ??

Later edit: Imi poate da careva un indiciu pt rezolvarea in O(n^2) ?

eu am rezolvat problema folosind o matrice opt(i,j) = nr de siruri 2-3 monotone de lungime i cu valori din multimea {1,2,...,j}, complexitate O(n^3). M-am mai gandit si in felul urmator: opt(i,j) = nr de siruri 2-3 monotone de lungime i cu ultimul element j ...
oare asa pot ajunge la O(n^2) ?

Editat de moderator : Nu mai posta de mai multe ori consecutiv. Editeaza-ti posturile anterioare.
6  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1020 Submatrix : Februarie 02, 2011, 15:16:52
la problema aceasta care este complexitatea dorita ? Think
7  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: problema permutari : Decembrie 28, 2010, 21:52:35
o intrebare am ... rezolvarea cu PD se bazeaza tot pe faptul ca trebuie gasita partitia cu cmmc maximal nu ?
8  infoarena - concursuri, probleme, evaluator, articole / Teme / problema permutari : Decembrie 28, 2010, 17:49:57
Problema : sa se afle ordinul maxim al unei permutari din multimea Sn.

M-am gandit ca defapt trebuie sa aflu partitia numarului n astfel incat cmmc al numerelor a1 + a2 + ... ak = n sa fie maximal

Dupa mai multe exemple am observat ca cmmc-ul acestor numere este maximal cand numerele sunt relativ prime ...

am incercat sa fac un backtracking care tine cont de relatia intre numere ...
 
Se poate mai eficient ? Think  Sa pornesc de la n = 1 si sa construiesc partitia ... ?
9  infoarena - concursuri, probleme, evaluator, articole / Teme / grafuri : Decembrie 11, 2009, 20:16:44
poate cineva sa-mi recomande niste carti utile despre teoria grafurilor de preferabil in lb romana Smile
10  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: interschimbare a 2 noduri : Octombrie 13, 2009, 16:54:19
multumesc Very Happy
11  infoarena - concursuri, probleme, evaluator, articole / Teme / interschimbare a 2 noduri : Octombrie 13, 2009, 15:47:11
am o intrebare: sa zicem ca am structura urmatoare.
struct nod{char nume[10],materie[10]; float nota,medie; nod* adr;};
si acum vreau sa ordonez o lista dupa medie,atunci ar trebui sa interschimb si celalalte informatii deci ar trebui practic sa interschim nodurile,legaturile ca ar sunt prea multe informatii pentru a le interschimba pe fiecare cu cele ale nodului respectiv.

n-ar fi mai bine sa fac o structura sa zic : struct elev{char nume[10],materie[10]; float nota,medie;};
si apoi : struct nod{ elev info; nod* adr;};  

??si daca tre sa inversez nodurile ma poate ajuta careva nitzel......asa as stii cum sa fac da mi se pare..
ex pt nodurile :     o->o->o->o->o
12  infoarena - concursuri, probleme, evaluator, articole / Teme / prb liste : Octombrie 12, 2009, 14:42:07
prb suna cam asa :se dau n numere.Sa se stearga elementele care pot fi scrise ca suma a celorlalte elemente din sir.

m-am tot gandit la ea si inca o fac:P ....m-ar ajuta daca ordonez lista ? (ma rog pe parcurs ce o creez sa o si ordonez)
multumesc anticipat Smile
13  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: prb cu liste simplu inlantuite : Octombrie 03, 2009, 11:43:59
pt 4 elemente: 1 1 2 2 ===>lista cu elem pare: 1 2 2 si lista cu elem impare 1


.....am gasit greseala.......acuma merge.....multumesc oricum peacefingers
14  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: prb cu liste simplu inlantuite : Octombrie 02, 2009, 20:35:08
alea nu-s prb....probabil am copiat si main-u din greseala....functia de generare a unei liste imi merge...da asta parimpar nu...
15  infoarena - concursuri, probleme, evaluator, articole / Teme / prb cu liste simplu inlantuite : Octombrie 02, 2009, 18:37:00
nu stiu ce gresesc la prb asta....
prb: se da o lista .Sa se creeze 2 liste .Una cu elementele pare si alta cu cele impare a listei initiale.

Cod:
#include<iostream.h>
#include<conio.h>



struct nod{int info;
  nod* adr;};


void sterge(nod* &first,nod* p){//fctia are ca parametrii first= adresa primului nod dintr-o lista si un pointer p=contine  
                                              adresa nodului precedent celui care va fi sters(am scris first de tip referinta ca poate se modifica
                                              adresa primului nod)
nod* a;

if(p==NULL)
{a=first;
first=first->adr;
delete a;
}
else
{a=p->adr;
p->adr=a->adr;
delete a;}}


nod* parimpar(nod* &first){//aici impart cele 2 liste .Elementele pare le tin in lista asta ,modific firstu daca ii cazu ,iar elem. impare
                                     //le bag intr-o lista noua

nod* p,*firstq,*q;
p=first;
firstq=NULL;
if(p->info%2)               //verific daca nu cumva lista incepe cu val impare(pe care o sa le bag intr-o lista noua si le sterg din lista
                                //initiala; s-ar putea sa se modifice first-u listei cu elem pare.
while(p->info%2){
q=new nod;
q->info=p->info;
q->adr=firstq;
firstq=q;
sterge(first,NULL);
p=first;}

while(p->adr!=NULL){    //parcurg lista mai departe...daca gasesc elem pare trec mai departe,altfel cred un nou nod in lista cu
                                //elemente impare si sterg elem impar din lista initiala(care va fi cea cu elem pare)
if(p->adr->info%2==0)
p=p->adr;
else
{
q=new nod;
q->info=p->adr->info;
q->adr=firstq;
firstq=q;
sterge(first,p);}
}

return firstq;}


nod *a,*b;
int n;

void main(){
clrscr();

cin>>n;
a=gen(n);
b=parimpar(a);
cout<<"primu sir  ";
afisare(a);
cout<<endl;
afisare(b);
16  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: pointeri : Septembrie 23, 2009, 13:26:03
multumesc mult....pt ambele posturi...m-am lamurit Dancing
17  infoarena - concursuri, probleme, evaluator, articole / Teme / pointeri : Septembrie 22, 2009, 19:29:51
am o intrebare.....am inceput recent pointerii la sc.....profu ne-a explicat bine......da am cateva intrebari....

daca am char s[5]="info",*p;

*p=s[0]// aici pointerul p retine adresa lui s[0] ? e bine?

ma deruteaza nitzel ca am invatat ca daca pun * inaintea unei variabile care tine adresa unei valori atunci * returneaza valoarea acea.. si daca avem sa zicem p=&x atunci p=adresa valorii ;
 

si este vreo diferenta aici:  int *p;
......
....
...
p++; sau *p++; ??
18  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: taxe : Septembrie 02, 2009, 15:00:35
vreau sa spun ca fac pasii de la lee ..numai ca la pasul cand trebuie sa scot un element din coada....il scot pe cel cu taxa cea mai mica pana atunci ....nu pe ultimu-l explorat
19  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: taxe : Septembrie 02, 2009, 13:47:35
am o intrebare ii bine daca as face asa "bag primu element in coada....apoi parcurg matricea si scot primu element din coada....si ii verific vecinii pe care ii bag in coada(bineinteles directiile in care se poate merge)....si cand revin iarasi la pasu cu scoaterea unui elem din coada....il aleg pe cel care are o taxa mai mica s.a.m.d pana ajung la poz finala".
20  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: taxe : Septembrie 01, 2009, 20:44:24
am gasit si rezolvarea da ii in pascal si n-o inteleg in totalitate.....
21  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: taxe : Septembrie 01, 2009, 20:43:31
da......

22  infoarena - concursuri, probleme, evaluator, articole / Teme / taxe : Septembrie 01, 2009, 19:52:12
am o intrebare la problema asta daca o stie carevea de la oji 2003 acea cu taxe...vroiam sa intreb.....pt rezolvare mi-ar trebui 2 matrici si fac in fel acesta? adica introduc prima poz in coada....apoi parcurg matricea si incep sa verific vecinii care ii bag in coada si il aleg pe acela care ia taxa mai mica...?:-/
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 776 Kprime : Septembrie 01, 2009, 12:28:20
nu inteleg cum se poate folosi cautarea binara aici....?
24  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: alee : August 31, 2009, 11:01:20
ok..... Smile
25  infoarena - concursuri, probleme, evaluator, articole / Informatica / alee : August 30, 2009, 20:14:10
ma puteti clarifica careva?
Cod:
//pun pozitia initiala, poarta de intrare, in coada}
  IncC = SfC = 0; C[IncC] = x; \\si aici C[sfC++] ?
  //parcurg parcul
  while (IncC <=SfC && A[ox][oy]==-2)
    {
      //extrag un element din coada
      x = C[IncC++]; \\aici nu ar trebui sa fie sfC++ ??
      //ma deplasez in cele patru directii posibile
      for (k=1; k<=4; k++)
        {
          y.l = x.l + dx[k];  y.c = x.c + dy[k];
          //y - urmatoarea pozitie in directia k
          if (A[y.l][y.c]==-2)
          //y- pozitie libera cu distanta minima necalculata
            {
             A[y.l][y.c] = A[x.l][x.c]+1;
              //inserez pozitia y in coada
              C[++SfC] =y;
ca asa la inceput incC=0 si dupaia il incrementeaza....pai nu iese din while?


asta ii rezolvarea de la oji 2007 parca...

Editat de moderator: Folostesta tagul [ code ] cand postezi cod sursa.
Pagini: [1] 2
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines