Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 543 Dk  (Citit de 10290 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« : Octombrie 07, 2007, 16:02:18 »

Aici puteţi discuta despre problema Dk.
Memorat
Dastas
Vorbaret
****

Karma: 11
Deconectat Deconectat

Mesaje: 170



Vezi Profilul
« Răspunde #1 : Octombrie 09, 2007, 17:43:07 »

Voi cum ati rezolvat problema? Eu m-am bazat pe niste lucruri care nu sunt garantate in enuntul problemei...

Exista vreun algoritm care sa se incadreze in timp si pentru 400 000 de numere prime distincte?
Memorat
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #2 : Octombrie 09, 2007, 17:59:36 »

Exista un algoritm probabilistic numit Miller Rabin. Se gaseste si in Cormen la capitolul de Teoria numerelor.
Memorat
Dastas
Vorbaret
****

Karma: 11
Deconectat Deconectat

Mesaje: 170



Vezi Profilul
« Răspunde #3 : Octombrie 09, 2007, 20:22:41 »

Interesant.. eu ma folosisem de algortimul lui Fermat, dar vad ca asta e mai putin probabil sa dea rezultate gresite. O sa implementez si asa, mersi!
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #4 : Octombrie 09, 2007, 20:27:29 »

Poti precalcula numerele compuse care iti ies prime cu ce-ai facut si sa cauti binar dup-aia. pentru bazele 2, 3, 7 sunt 700 numere ...
Memorat
gcosmin
Nu mai tace
*****

Karma: 205
Deconectat Deconectat

Mesaje: 307



Vezi Profilul
« Răspunde #5 : Octombrie 09, 2007, 20:52:55 »

e teorema lui fermat, nu algoritmul  Smile
Memorat
floringh06
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #6 : Octombrie 16, 2007, 07:25:55 »

salutare... am  si eu o intrebare.. am rezolvat problema cu algoritmul miller - rabin si ptr 7 baze iau 80 cu TLE, ptr 6 baze  90 cu TLE si ptr 5 baze deja 70 cu TLE si incorect  Think bazele le generez aleator cu o functie random, nu e totusi ceva mai optim ? mersi Smile
Memorat
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #7 : Octombrie 16, 2007, 08:12:24 »

Incearca baze numere prime. eu am folosit 2 3 5 7 si am luat 100
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #8 : Octombrie 16, 2007, 08:51:37 »

Bazele 2, 7 si 61 dau 100% rezultatul corect pentru numere mai mici ca 10^9.
Memorat

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

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #9 : Februarie 16, 2008, 15:20:17 »

S-a facut o reevaluare la aceasta problema.
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #10 : Aprilie 13, 2008, 20:55:10 »

si daca aplic ciurul lui eratostene, si dupa citesc fiecare element, verific daca e prim, si daka e, incrementez ceva...daka ati putea sa imi dati un contra exemplu... peacefingers
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #11 : Aprilie 13, 2008, 21:07:42 »

pana la un miliard sunt muuulte numere prime Smile cum te-ai gandit sa le stochezi?
Memorat

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

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #12 : Aprilie 13, 2008, 21:28:40 »

dar zice ca n<=400.000 ...deci nu cred ca ar fi o problema in a genera ciurul...
Memorat
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #13 : Aprilie 13, 2008, 22:03:32 »

Dar mai zice si ca

Citat
1 ≤ Xi ≤ 109

deci tu ar trebui sa faci ciurul pana la 109.
Memorat
drag0s93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #14 : Ianuarie 07, 2009, 23:31:00 »

daca folosesc ciurul Cool ...as lua ceva puncte la problema asta  Cry ? si nu inteleg dc imi da Killed by signal  Annoyed
Memorat
Prostu
Nu mai tace
*****

Karma: 134
Deconectat Deconectat

Mesaje: 323



Vezi Profilul
« Răspunde #15 : Ianuarie 07, 2009, 23:47:27 »

daca folosesc ciurul Cool ...as lua ceva puncte la problema asta  Cry ? si nu inteleg dc imi da Killed by signal  Annoyed
In C/C++ elementele unui tablou unidimensional de N elemente sunt indexate de la 0 la N-1. Sa zicem ca tabloul este numit T, daca este accesat T[N], in linux, este returnat semnalul 11.
Memorat
mika17
Strain
*

Karma: 8
Deconectat Deconectat

Mesaje: 33



Vezi Profilul
« Răspunde #16 : Martie 01, 2009, 06:41:14 »

Am si eu cateva intrebari(si observatii) legate de aceasta problema
1) inainte sa pun conditia daca Nr e 1 atunci fals luam 20p, dupa am ajuns la 90
2) trebuie parsata citirea ? inainte sa parsez luam TLE pe 7 teste. Cu parsare scot max 1.8sec. Totusi ar mai trebui optimizat algoritmu sa intre si fara parsare?
3) E ceva special la testul 1 ? Nu-l iau de nici o culoare Smile 
edit: am gasit, pe 2 il vedea ca nr compus lol...
« Ultima modificare: Martie 01, 2009, 10:36:09 de către Mihai Alex Ionescu » Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #17 : Aprilie 09, 2009, 17:41:07 »

mika era sa-ti dau dreptate Very Happy... ca de ce daca nu iau 1 in considerare iau decat 20. Chestia e ca testele la care luam WA contineau pe 1:)) Fighting Fighting Fighting Fighting
« Ultima modificare: Aprilie 10, 2009, 17:21:58 de către Tarca Bogdan » Memorat
emilianparaicu14
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #18 : Iulie 25, 2009, 15:40:09 »

Am incercat sa folosesc alogritmul baza pe Teorema lui Fermat si ceea ce trebuia sa verific era daca  (a^n -a)%n==0 -- unde a=numarul ales la intamplare 1>a>n; iar n numarul pe care il verificam.  Problema este ca daca avem de ex. n=200 si a= 50, atunci 50^200 devine cam greu de calculat fara sa iesi din memorie Very Happy. Presupun ca iti poti da seama daca (a^n -a)%n==0  fara sa calculezi, dar nu prea stiu cum sad
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #19 : Iulie 25, 2009, 21:10:30 »

Daca stii cat este restul impartirii lui a la n, atunci poti afla si restul impartirii lui a ^ n la n, ridicand la putere in timp logaritmic.
Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #20 : Aprilie 08, 2012, 12:57:35 »

Folosesc algoritmul probabilistic numit Miller Rabin si iau TLE pe 6 teste ( cu ridicare la putere in timp logaritmic pentru bazele 2,7 si 61 ) . Ce as mai putea optimiza? Multumesc anticipat!

Am reusit in cele din urma, dar cred ca ar trebui marita limita de timp macar pana la 1 sec, oricum in O(n*sqrt(Xi)) nu intra .
« Ultima modificare: Aprilie 10, 2012, 14:48:24 de către Pirtoaca George Sebastian » Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #21 : Ianuarie 30, 2013, 12:31:07 »

Am si eu o intrebare : ce gresesc la rezolvare de imi da cu orice baza asi alege 30p?
Memorat
repp4radu
Nu mai tace
*****

Karma: 118
Deconectat Deconectat

Mesaje: 204



Vezi Profilul
« Răspunde #22 : Februarie 12, 2013, 20:54:42 »

Cred ca ar trebui marita limita de timp la aceasta problema.

Iau TLE pe un test folosind algoritmul lui Miller-Rabin cu 3 baze, ridicare la putere in timp logaritmic si parsarea citirii.
Memorat
misino
Strain
*

Karma: 10
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #23 : Februarie 13, 2013, 10:57:25 »

Fa decat cu doua baze
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #24 : Martie 31, 2013, 23:36:45 »

Iau 90p cu WA pe primul test in conditiile in care am parsat citirea, am implementat MillerRabin folosind 2 baze ( 2, 61 ). Poate cineva sa-mi spuna unde gresesc sau daca testul 1 are ceva special?
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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