Pagini: 1 [2] 3 4   În jos
  Imprimă  
Ajutor Subiect: 005 Permutari  (Citit de 42741 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Bluedrop_demon
Client obisnuit
**

Karma: -3
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #25 : Martie 29, 2007, 15:44:15 »

Nu pricep. Aplic formula, calculez recursiv si folosesc int64. Normal daca da pe afara cred ar trebui sa dea un fel de eroare sau sa devina valorile negative dar imi da TLE. Folosind operatii pe numere mari nu ar dura si mai mult ?
Memorat
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #26 : Martie 29, 2007, 15:47:36 »

Recursivitatea e mai inceata.
Memorat
Bluedrop_demon
Client obisnuit
**

Karma: -3
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #27 : Martie 29, 2007, 21:08:19 »

Am facut in baza 10^4 si am luat 100p.  Yahoo! Super problema, chiar am avut de invatat niste cazuri particulare in la operatiile cu numere mari. Eu programator inrait pe borland a trebuit sa fac multe schimbari pe agoritm sa functioneze de 100 in fpc. Oricum, multumesc mult pentru sfaturi!
Memorat
nash
De-al casei
***

Karma: 0
Deconectat Deconectat

Mesaje: 109



Vezi Profilul
« Răspunde #28 : Aprilie 14, 2007, 00:29:39 »

 ok .. ceva nu imi iese mie .. bine si nu vad unde gresesc ... Neutral
     Eu gandesc in felul urmator  :
       folosesc o matrice sol[ i ][ j ] care reprezinta numarul de permutari cu "i" elemente care au "j" maxime . O permutare cu "n" elemente si "k" maxime se poate forma din :
                    - o permutare cu "n-1" elemente si "k-1" maxime prin adaugarea elementului "n" la sfarsitul permutarii .
                    - o permutare cu "n-1" elemente cu "k" maxime prin adaugarea elementului "n" inaintea ultimului maxim.
                    - o permutare cu "n-1" elemente cu "k+1" maxime prin adaugarea elementului "n" inaintea ultimelor doua maxime .
             ....................................
             ....................................
                   - o permutare cu "n-1" elemente cu "n-1" maxime prin adaugarea elementului "n" dupa primele "k" elemente din permutare .

       De aici rezulta ca numarul de permutari cu N elemente si K maxime se calculeaza in felul urmator :

sol[ n ][ k ] = sol[ n-1 ][ k-1 ] + sol[ n-1 ][ k ] + sol[ n-1 ][ k+1 ] + ... +sol[ n-1 ][ n-1] 
initial sol[ 1 ][ 1 ] = 1

Calculand in felul acesta nu se ajunge la rezultatul corect .

1
1 1
2 2 1
......
in loc de al doilea 2 corect era "3" .. ( se poate vedea ca e si exemplu dat ...) nu vad unde gresesc .. evident .. nu va merge pentru teste mari .. insa .. nu vad unde gresesc .. Neutral ( ma refer la ideea de rezolvare )

   Nu poate nimeni sa imi dea nici un sfat .. sau toti cei care pot sunt la baraj pentru lot ??   Think 
 Winner 1st place
 Rolling Eyes
« Ultima modificare: Aprilie 15, 2007, 08:49:14 de către nash mit » Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #29 : Aprilie 15, 2007, 15:06:22 »

Ai gresit recurenta.
Defapt problema cere sa determini numarul lui Stirling de speta intai.
s(N,K) = (N-1)s(N-1,K) + s(N-1, K-1).
Memorat

vid...
nash
De-al casei
***

Karma: 0
Deconectat Deconectat

Mesaje: 109



Vezi Profilul
« Răspunde #30 : Aprilie 15, 2007, 19:23:08 »

 Am vazut ca au afisat cineva la inceputul topicului striling de speta 1 ... insa .. eu vream sa stiu ce e gresit in gandirea mea ....
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #31 : Aprilie 15, 2007, 22:11:40 »

Tu pentru k+p maxime te gandesti ca poti introduce elementul N inainte de ultimele p-1 maxime. Problema este ca s-ar putea sa ai mai multe locuri in care sa-l poti introduce.

Uite un exemplu:

3 2 1 4 5

Vrei sa obtii doua maxime cand bagi pe 6 si poti obtine:

3 6 2 1 4 5
3 2 6 1 4 5
3 2 1 6 4 5

In recurenta ta, aduni o singura data.
Memorat

Am zis Mr. Green
nash
De-al casei
***

Karma: 0
Deconectat Deconectat

Mesaje: 109



Vezi Profilul
« Răspunde #32 : Aprilie 15, 2007, 22:56:28 »

  Ah da .. corect .. nu m-am gandit la asta Smile merci ..
« Ultima modificare: Aprilie 16, 2007, 01:18:46 de către nash mit » Memorat
vicenzo_cnu
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #33 : Aprilie 29, 2007, 03:43:55 »

Am si eu o problema ... fac problema prin numerele lui stirling, afisez cu numere marisi totusi imi da WA la 4 teste, am incercat cu 10^4 afisarea pana la 10^9... tot 4 teste gresite imi da, dar culmea culmilor este k testele gresite nu coincid knd schimb baza de afisare  Brick wall... poate cineva sa-mi spuna care-i faza  Eh?
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #34 : Aprilie 29, 2007, 08:25:45 »

Ai grija cand folosesti o baza mai mare ca 10 sa afisezi si zerourile. De exemplu, daca folosesti baza 10^4, numarul 73 trebuie afisat ca 0073.
« Ultima modificare: Aprilie 29, 2007, 13:12:42 de către Stefan Istrate » Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
vicenzo_cnu
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #35 : Aprilie 30, 2007, 03:50:28 »

Ms mult pentru observatie... am luat si eu suta  Banana
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #36 : Iulie 11, 2007, 23:52:59 »

Cat va da pentru :

Cod:
200 2

Cred ca asta ii cel mai mare rezultat care se poate obtine.
« Ultima modificare: Iulie 12, 2007, 00:00:04 de către Bondane Cosmin Cosi » Memorat

vid...
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #37 : Iulie 11, 2007, 23:59:52 »

Cod:
23159060312564359871950929055455674021435236167923959343115750040823047581979908380727537796461185778013737134426559431288744237478343902437539133012028435084567718670531340662889488184573823549876303454548719715122034588710323516710029845203752585692844797698070034630498657231556170312181971812010087147350420585907013230054604800000000000000000000000000000000000000000000
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #38 : Aprilie 17, 2008, 17:23:14 »

Cum as mai putea sa-mi optimizez solutia ca sa iasa in timp?
http://infoarena.ro/job_detail/164223
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #39 : Aprilie 17, 2008, 18:10:26 »

foloseste baza 10000 pentru numerele mari. ai grija la afisare.
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #40 : Aprilie 17, 2008, 18:11:37 »

el ia 9 tleuri deci probabil ca face back. Nu cred ca il ajuta sa mareasca baza la numere. Incearca sa te gandesti la alta abordare.
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #41 : Aprilie 17, 2008, 18:18:10 »

E greu sa dai indicatii daca nu stii ce e in sursa aia... Alex, descrie putin ce faci acolo.
Dupa numarul de teste care depasesc timpul, probabil Devilkind are dreptate : incearca altceva.
Memorat
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #42 : Aprilie 18, 2008, 16:57:50 »

E greu sa dai indicatii daca nu stii ce e in sursa aia... Alex, descrie putin ce faci acolo.
Dupa numarul de teste care depasesc timpul, probabil Devilkind are dreptate : incearca altceva.
Generez toate permutarile si dupa aceea verific cate maxime are....daka are k maxime afisez solutia...
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #43 : Aprilie 18, 2008, 17:34:05 »

Cauta o solutie mai eficienta. Smile Iar daca nu te prinzi, citeste cu atentie posturile anterioare din topicul asta.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
theratman
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #44 : Iunie 20, 2008, 07:54:42 »

am si eu o problema
am facut functia de stirling pe nr mici
folosind formula
s(n,k)=(n-1)*s(n-1,k)+s(n-1,k-1)
si la testul n=5 si k=3 imi da 34 si nu 35
ma poate ajuta cineva va rog
Memorat
k_ounu_eddy
Vorbaret
****

Karma: -104
Deconectat Deconectat

Mesaje: 161



Vezi Profilul
« Răspunde #45 : Octombrie 21, 2008, 10:44:51 »

Va rog scrieti demonstratia,ca eu nu am inteles de ce solutia acestei probleme e formula asta:s(N,K) = (N-1)s(N-1,K) + s(N-1, K-1).
Memorat
ghitza_2000
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #46 : Noiembrie 04, 2008, 14:45:19 »

vreau si eu sa va intreb ceva... am facut sirul stirling... dar din pacate iau decat un test din toate... testul 6 mai precis.... puteti sa imi dati testul 1 sau 2 sa vad care e problema?

Cod:
s[1,1]:=1;  s[2,1]:=1; s[2,2]:=1;
for i:=3 to n do
begin
s[i,1]:=1;
for j:=2 to i-1 do
s[i,j]:=j*s[i-1,j]+s[i-1,j-1];
s[i,i]:=1;
end;

Editat de moderator: Foloseste tag-ul code cand postezi cod!

sigur sunt testele bune? sirul stirling arata pentru 5 3 varianta 25...

Editat de moderator: Nu posta in continuu, ci editeaza mesajele precedente daca sunt pe aceeasi tema.
« Ultima modificare: Noiembrie 04, 2008, 15:13:50 de către Paul-Dan Baltescu » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #47 : Noiembrie 04, 2008, 15:16:28 »

Testele sunt bune. Nu ti se pare ciudat ca au luat si altii 100, daca testele sunt gresite?

Mai sunt pe acest topic cateva teste, le-ai incercat?
Memorat

Am zis Mr. Green
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #48 : Noiembrie 04, 2008, 17:10:15 »

Ghitza, tu ai inteles problema... sau ai citit pe forum ca se face cu Stirling si ai cautat pe google relatia de recurenta?
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
ghitza_2000
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #49 : Noiembrie 11, 2008, 14:04:42 »

am citit pe forum;)) si nu imi da ceva bine... dar nu inteleg, cum s-ar putea face?
Memorat
Pagini: 1 [2] 3 4   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines