Afişează mesaje
Pagini: [1] 2 3 ... 5
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 046 Cele mai apropiate puncte din plan : Mai 22, 2012, 23:07:52
Nu stiu exact in ce consta acea librarie, insa cu siguranta poate fi paralelizat deoarece fiecare subproblema poate fi rezolvata independent...
2  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Subset maxim : Decembrie 13, 2011, 01:43:52
Parcurgem sirul si pentru fiecare element x, verificam daca x - 1 si/sau x + 1 au fost intalnite anterior(cu un hash). Daca ambele au fost, atunci inseram una dintre multimi in cealalta(multimea lui X= {multimea maximala de numere consecutive intalnite inaintea lui X}  U  {X} ), inclusiv pe x(cu multimi disjuncte), daca doar una din valori a fost intalnita anterior il inseram pe x in acea multime.
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 065 Concert : Decembrie 06, 2011, 11:01:07
Da. Faci o structura asa:
struct compare{
   bool operator  < (tip a, tip b) const{
       return a < b;//poti compara cum vrei aici
   }
}
iar cand sortezi apelezi asa : sort(a.begin(), a.end(), compare());

Iar daca "tip" este la randul sau o structura poti supraincarca operatorul < astfel:
bool operator < (tip a) const{
    return this->x < a.x;//La fel , poti sorta cum vrei
}
...
sort(a.begin(), a.end());//fara alti parametrii
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 243 Path : August 21, 2011, 10:54:01
Am rezolvat problema cu 3 df-uri.
1) caut lungimea drumului maxim
2) fac dinamica: dp[ i ] numarul de drumuri de lungime maxima ce pornesc din nodul i
3) caut al k-lea drum

Folosesc 52 de set-uri in loc de matrice, probabil de aici mi se trage TLE (desi 2500 muchii nu mi se par multe). Problema e ca iau si WA, desi pe testele mele merge Neutral Any help?
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 312 Sume 2 : August 15, 2011, 00:42:41
Sa zicem ca suma fixata este S. Pentru a afla cate sume sunt mai mici ca aceasta, pentru fiecare element din vector trebuie sa vedem cate elemente din acelasi vector sunt mai mici sau egale cu S - element_curent si cate sunt strict  mai mici decat S - element_curent. Sumele acestor valori sa le notam cu upper si lower. Tot ce mai trebuie facut este sa verificam daca lower < k && k <= upper.
6  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Algoritmica : August 02, 2011, 16:47:24
1 , 11 , 12
7  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: SQL query : Mai 27, 2011, 10:39:25
Cam aceeasi complexitate se obtine si cu LCA pentru constructie, apoi O(1) pe query. Verificam daca LCA dintre X si Y este nodul Y.
LE: Si cum zice cosmin se poate face LCA. Eu ma refeream la RMQ
8  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1120 Inundatie : Aprilie 15, 2011, 09:19:31
Pentru un query=0 ce-ti afiseaza? Si din cate tin minte trebuie lucrat pe long long
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 916 Trenuri : Martie 09, 2011, 20:11:40
Ce nu ar fi bine in ideea asta:
Caut timpul binar(diferenta maxima minima dintre plecare si sosire) ,fac un dijkstra . Pentru fiecare nod pe care-l scot din coada(fie it o muchie care iese din nod)

daca trece de codul urmator relaxez muchia si sosire[it->y]=it->sosire;
Cod:
if(nod==1)
        sosire[nod]=it->plecare;

if(sosire[nod]>it->plecare)
continue;

if(dif < it->plecare-sosire[nod])
continue;

if(cost[it->y] <= cost[nod]+it->cost)
continue;

Muchiile le retin exact cum se dau in fisierul de intrare.
10  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 009 Algoritmul lui Dijkstra : Ianuarie 21, 2011, 00:10:44
Este exagerata limita de timp, din cate am vazut intra mai bine o coada simpla decat un heap.
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 715 Atac2 : Decembrie 26, 2010, 11:56:02
Exista intotdeauna solutie? Pentru un exemplu ca asta:
5 4 2 3
1 5
5 1
1 2
2 3
3 4

Raspunsul este 5 ?(1->2 ; 5->4)
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 060 Critice : Decembrie 22, 2010, 14:41:19
Tocmai m-am lovit si eu de problema asta. In functie de cum gaseste fluxul, solutia poate fi buna sau nu ....  Brick wall
Probabil trebuie facui fluxul intr-un anume fel  Think
13  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: FMI No Stress 2010 : Decembrie 12, 2010, 20:48:32
Eu nu stiu cum puteti sa ziceti sa se anuleze sursele dupa 5 h... Dupa ce ca a inceput mai tarziu au mai fost si problemele astea cu siteul. Eu jumate din timp am stat sa dau refresh ca sa reusesc sa-mi pun sursele Neutral Problemele au fost frumoase, dar nu se poate face nimic ca siteul sa mearga mai bine?
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 886 Numar3 : August 30, 2010, 09:35:16
Dupa parerea mea testele nu sunt foarte bune. Eu daca am permutarea 1200...00 (3 milioane de zerouri sa zicem) , o sa pastrez tot sirul in memorie... si iau 100 asa.
15  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Problema saptamanii - Interclasare : August 08, 2010, 22:59:37
Ca sa faci heap sortul stabil trebuie sa retii si pozitiile pentru fiecare nod, deci ai o(n) memorie suplimentara. Probabil e alta idee.
LE: sau bagam un stable_sort Tongue

Stable_sort is an adaptive algorithm: it attempts to allocate a temporary memory buffer, and its run-time complexity depends on how much memory is available. Worst-case behavior (if no auxiliary memory is available) is N (log N)^2 comparisons, where N is last - first, and best case (if a large enough auxiliary memory buffer is available) is N (log N)

sau

Inplace_merge is an adaptive algorithm: it attempts to allocate a temporary memory buffer, and its run-time complexity depends on how much memory is available. Inplace_merge performs no comparisons if [first, last) is an empty range. Otherwise, worst-case behavior (if no auxiliary memory is available) is O(N log(N)), where N is last - first, and best case (if a large enough auxiliary memory buffer is available) is at most (last - first) - 1 comparisons.

Implementarile sunt in headerul algorithm.
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 571 Antitero : Iulie 07, 2010, 19:31:09
Daca soldatul 1,care e initial pe pozitia 2,se deplaseaza pe pozitia 4 apoi pe 5, se afiseaza
M 1 4
M 1 5

sau direct
 M 1 5
?
Nu inteleg la ce se refera (fara a se preciza pozitiile intermediare) .
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 142 Ciclu : Iulie 02, 2010, 21:04:27
Daca fac belman ford cu coada numarand sa nu am mai mult de n*m pasi si apoi verific daca pentru muchiile existente se poate obtine un cost mai mic nu e corect? Iau 0 puncte cu abordarea asta pe cand cu un belman ford fara coada aplicat de n ori si apoi verificarea iau 60.
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 005 Potrivirea sirurilor : Iulie 01, 2010, 11:13:41
Zici ca daca vectorul e gol si tu apelezi .size() iti da eroarea aia? Daca e gol .size()=0,nu-ti da eroare
19  infoarena - concursuri, probleme, evaluator, articole / Stelele Informaticii 2010 / Răspuns: Pod : Iunie 28, 2010, 08:46:13
Daca prima si cea de-a k scandura sunt lipsa raspunsul este 0?
20  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1071 Hawaii : Iunie 21, 2010, 16:43:37
Frumos Very Happy Hai ca o sa ma apuc sa scriu. Intre timp am facut un fel de atan2 de mana =)) dar iau 2 WA. Creca omit vreun caz.
Cod:
inline bool cmp(p a,p b)
{
ld adx=a.first-fix.first;
ld ady=a.second-fix.second;
ld bdx=b.first-fix.first;
ld bdy=b.second-fix.second;
//1
if(adx>=0&&ady>=0)
{
if(bdx==0&&bdy>0)
return 1;
if(bdx==0&&bdy<0)
return 0;
if(bdx>0&&bdy==0)
return 0;
if(bdx<0&&bdy==0)
return 0;
if(bdx>0&&bdy>0)
{
if(adx==0)
return 0;
if(ady==0)
return 1;
return (ld)ady/adx<(ld)bdy/bdx;//1
}
if(bdx<0&&bdy>0)
return 1;
else
return 0;
}
//2
if(adx<=0&&ady>=0)
{
if(bdx<0&&bdy>0)
return (ld)ady/adx<(ld)bdy/bdx;//2
else
return 0;//1 3 4
}
//3
if(adx<=0&&ady<=0)
{
if(ady==0&&adx<0)
return 1;//1 2 4
if(bdx<0&&bdy<0)
return (ld)ady/adx<(ld)bdy/bdx;//3
else
return 1;//1 2 4
}
//4
if(adx>=0&&ady<=0)
{
if(bdx==0&&bdy>0)
return 1;
if(bdx==0&&bdy<0)
return 0;
if(bdx>0&&bdy==0)
return 1;
if(bdx<0&&bdy==0)
return 0;
if(bdx>=0&&bdy<=0)
{
if(adx==0)
return 1;
if(ady==0)
return 0;
return (ld)ady/adx<(ld)bdy/bdx;
}
if(bdx<0&&bdy<0)
return 0;
else
return 1;
}
}
L.E.  A mers  Ok O sa tin minte treaba asta. MS  Yahoo!
21  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1071 Hawaii : Iunie 21, 2010, 14:10:45
Se poate imbunatatii cumva timpul functiei atan2? Sau mai exista vreo metoda asemanatoare?
Vreau sa sortez punctele in jurul closcai
22  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 248 Map : Iunie 01, 2010, 16:06:38
A rezolvat-o cineva  cu Rabin-Karp?
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1037 Produs : Mai 30, 2010, 11:59:59
Mai precis?
Impartirea lui P la fiecare factor prim (de putere_factor ori) iese din timp...
24  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1037 Produs : Mai 25, 2010, 12:13:43
Sti ca numarul ala foarte mare e format astfel n*(n+1)*(n+2)*...*(n+m) unde 1<=n<=n+m<=100000 deci sti ca factorii primi sunt mai mici ca 100000 si astfel poti logaritma numarul ala mare
25  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 005 Potrivirea sirurilor : Mai 22, 2010, 18:25:21
Daca am de exemplu sirurile :

cse adcse se

si vreau sa vad care din ele este sufix pentru abadcse. Dupa ce formez numarul lui abadcse cu rabin karp, incerc sa scap de cate o litera de la inceput folosind aceeasi schema ca si la potrivire de siruri dar fara sa mai inmultesc cu baza si sa adun alt element.
sir3=(sir3-(c[j]*Pow1)%MOD1+MOD1)%MOD1
Nu e buna solutia sau gresesc eu ceva?
Pagini: [1] 2 3 ... 5
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines