Pagini: 1 [2] 3   În jos
  Imprimă  
Ajutor Subiect: 012 Ridicare la putere in timp logaritmic  (Citit de 48037 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
cosser
Strain
*

Karma: 4
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #25 : Martie 14, 2008, 13:37:33 »

si ce punctaj obtine daca o implementezi in problema?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #26 : Martie 14, 2008, 13:50:07 »

Din cat m-am uitat pe testele problemei... cred ca iei 0 puncte Eh?.

Rezultatul trebuie sa incapa pe double pentru a obtine raspunsul corect... si vad ca in toate testele trebuie sa ridici la o putere prea mare pentru ca acest lucru sa fie posibil.
Memorat

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

Karma: 4
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #27 : Martie 14, 2008, 14:03:33 »

vorbesti despre implementarea cu power din STL sau de punctajul meu? eu incerc sa fac ceva cu exp(b*log(a)) ; dar se pare ca obtine 0 in comparatie cu cele 10 puncte ale functiei pow()...  am observat ca C/C++ are multe functii gata implementate  (si acum offtopic : are qsort() si bsearch() chiar in stdlib.h)  : )  mai stiti si altele?
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #28 : Martie 14, 2008, 15:53:56 »

Din cat m-am uitat pe testele problemei... cred ca iei 0 puncte Eh?.

Rezultatul trebuie sa incapa pe double pentru a obtine raspunsul corect... si vad ca in toate testele trebuie sa ridici la o putere prea mare pentru ca acest lucru sa fie posibil.
Daca te referi la faptul ca va face overflow, desi trebuie sa returnezi rezultatul modulo ceva, poti folosi o anumita functie care "inmulteste" doua numere pe clasa T:

Citat
template <class T, class Integer, class MonoidOperation>
T power(T x, Integer n, MonoidOperation op);

Totusi , orice librarie incerc sa includ nu imi gaseste functia power... tin minte ca asa facea cand am incercat ceva de genul multi_hash... de la ce sa fie? Huh Am o sursa si sunt curios daca merge, dar nu stiu ce sa includ...
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #29 : Martie 14, 2008, 16:30:11 »

Zice pe pagina aia ca nu e in standardul C++, ci doar o extensie SGI. multi_hashul nici nu stiu ce e Smile
Memorat
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #30 : Martie 14, 2008, 18:33:40 »

pentru a folosi functia power folosesti:

#include <ext/numeric>

using namespace std;
using namespace __gnu_cxx;

sper ca asa se scrie ultima dintre ele.
Memorat

Tine minte ca mintea conduce pumnu, nu invers
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #31 : Martie 14, 2008, 18:46:07 »

Zice pe pagina aia ca nu e in standardul C++, ci doar o extensie SGI. multi_hashul nici nu stiu ce e Smile
Era o chestie cu "multi" care apare pe sgi dar nu e in standard si eu am cautat-o mult si bine, ca pe power  Confused

pentru a folosi functia power folosesti:

#include <ext/numeric>

using namespace std;
using namespace __gnu_cxx;

sper ca asa se scrie ultima dintre ele.
Mi-a compilat Smile Din cate tin minte, se include la ONI documentatia STL care seamana foarte mult cu cea de pe SGI, putem folosi chestii care apar in vreo biblioteca instalata, dar care nu sunt standard?
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #32 : Martie 14, 2008, 18:50:30 »

Pai daca esti sigur ca ai aceeasi versiune ca si comisia, nu are ce sa se intample. Nefiind standard nu prea cred ca e bine sa le incerci Smile E mult mai posibil sa se schimbe de la o versiune de gcc la alta.
Memorat
tudalex
Strain
*

Karma: -8
Deconectat Deconectat

Mesaje: 44



Vezi Profilul
« Răspunde #33 : Martie 25, 2008, 18:49:49 »

Din cat m-am uitat pe testele problemei... cred ca iei 0 puncte Eh?.

Rezultatul trebuie sa incapa pe double pentru a obtine raspunsul corect... si vad ca in toate testele trebuie sa ridici la o putere prea mare pentru ca acest lucru sa fie posibil.
Defapt cred ca iei 10 puncte unul din teste intra pe unsigned int in borland asa ca ar trebui sa iti mearga pentru testul 8.
Memorat

"Doua lucruri sunt infinite: universul si prostia omeneasca, dar de prima inca nu sunt sigur" Albert Einstein
05_Yohn
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #34 : Mai 18, 2008, 13:02:10 »

va rog mult spuneti-mi ce sa fac ca sa-mi mearga si la mine p calculator int64 pt ca la mine nu merge...iar la aceasta problema am obtinut 100 dupa ce am declarat variabilele de tip int64..va roog mult sad Confused
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #35 : Mai 18, 2008, 14:10:31 »

Instaleaza-ti free pascal si lucreaza in el: Smile

http://sourceforge.net/project/downloading.php?group_id=2174&use_mirror=switch&filename=fpc-2.2.0.i386-win32.exe&97921904
Memorat
05_Yohn
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #36 : Mai 18, 2008, 14:13:56 »

mersi  Ok
Memorat
florin_marius90
Strain


Karma: -15
Deconectat Deconectat

Mesaje: 17



Vezi Profilul
« Răspunde #37 : Martie 21, 2009, 04:12:13 »

salut... am si eu o nelamurire ... cum doamne iartama declar variabila ''n'' in   pascal sau cum o citesc , cum o retin ... la fel si pentru 'p'. in pascal tipul longint suporta intregi pana la 2 miliarde..... sa l citesc cu caractere oare?  Think habar nu am..... m-am uitat pe sursa de 100 de puncte dar nu stiu c++  Cry Cry Cry  si nu am priceput nimica... ajutati ma va rog mult ms...     sunt multe chestii din limbajul pascal pe care nu le stiu... referitor la cum e mai avantajos d.p.d.v. al timpului de executie sa folosesti functiile, sa declari variabile care sa ocupe putin, pt ca daca vrei sa scoti un timp bun tre sa sti sa optimizezi programul la nivel de limbaj si apoi la nivel de algoritm... Noi la scoala facem info in pascal... dar trebuia sa eu sa invat c++ intr-o vacanta de vara, acum sunt cu bacu, admitere si nu prea e timp  Smile
Memorat
zloteanu.adrian
Strain
*

Karma: -9
Deconectat Deconectat

Mesaje: 38



Vezi Profilul
« Răspunde #38 : Mai 26, 2009, 11:23:47 »

salut... am si eu o nelamurire ... cum doamne iartama declar variabila ''n'' in   pascal sau cum o citesc , cum o retin ... la fel si pentru 'p'. in pascal tipul longint suporta intregi pana la 2 miliarde..... sa l citesc cu caractere oare?  Think habar nu am..... m-am uitat pe sursa de 100 de puncte dar nu stiu c++  Cry Cry Cry  si nu am priceput nimica... ajutati ma va rog mult ms...     sunt multe chestii din limbajul pascal pe care nu le stiu... referitor la cum e mai avantajos d.p.d.v. al timpului de executie sa folosesti functiile, sa declari variabile care sa ocupe putin, pt ca daca vrei sa scoti un timp bun tre sa sti sa optimizezi programul la nivel de limbaj si apoi la nivel de algoritm... Noi la scoala facem info in pascal... dar trebuia sa eu sa invat c++ intr-o vacanta de vara, acum sunt cu bacu, admitere si nu prea e timp  Smile
pe infoarena limitele sunt mult mai mari... Weightlift Weightlift
tu fa cum crezi ca e mai bine si apoi trimite-o
Memorat
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #39 : Mai 26, 2009, 11:51:51 »

daca vrei sa scoti un timp bun tre sa sti sa optimizezi programul la nivel de limbaj si apoi la nivel de algoritm

Cu asta nu prea ai dreptate. In ziua de azi, compilatoarele moderne fac o treaba excelenta referitor la optimizarea limbajului. In momentul de fata tu scrii cod (C/Pascal nu conteaza) care trece printr-un compilator care are grija sa fie foarte optimizat pentru arhitectura respectiva. Au trecut de mult vremurile in care scriai cod in instructiuni de procesor (atunci conta mult mai mult optimizarea la nivel de limbaj).

Acum, singurul lucru pe care nu-l stie compilatorul e sa-ti modifice tie algoritmul. Gandeste-te un pic care e diferenta intre un algoritm O(N^2) si O(N) (de exemplu). N^2 va dura aproximativ N^2 * C , iar N va dura N * C, unde C e o constanta care reprezinta durata medie de executie a unei instructiuni de limbaj (C/C++) inmultita cu un nr de instructiuni care sunt repetate. C-urile astea sunt aproximativ egale (in O(N^2) si O(N)) si nu prea ai multe variante de a optimiza aici (cum ti-am zis compilatorul face treaba). Asa ca.. O(N^2) va merge de aproximativ N ori mai incet decat O(N).. iti dai seama ce inseamna asta pt N = 100.000 sa zicem?
Memorat

Tine minte ca mintea conduce pumnu, nu invers
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #40 : August 02, 2009, 13:53:54 »

Stie cineva de ce pe calculator imi da eroare SIGFPE iar pe infoarena nu ? mi se intampla doar daca declar long long functia (stiu ca merge si doar long, dar de ce pe infoarena merge si la mine nu?).  O avea vreo legatura ca folosesc windows si pe infoarena se foloseste linux sau asa ceva ?
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #41 : August 02, 2009, 13:56:51 »

Uite ce am gasit legat de eroarea ta: http://en.wikipedia.org/wiki/SIGFPEConfused
Memorat
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #42 : August 02, 2009, 21:58:36 »

Pai nu ma ajuta cu nimic asta. Stiu ce inseamna eroarea doar ca nu se potriveste in cazul meu.
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #43 : August 02, 2009, 22:05:30 »

Spune si ce compilator folosesti si IDE. Eu cu MinGW din packul de pe infoarena nu am avut niciodata probleme de genul asta.
Memorat
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #44 : August 03, 2009, 13:52:49 »

Pai treaba e ca si eu tot mingw de pe infoarena folosesc. Ma gandesc ca o fi vreo eroare de-a lui mingw ca am observat ca dupa un timp face faze. Daca mai face ceva vad eu....
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #45 : August 03, 2009, 14:54:42 »

Pune-ti Ubuntu, iti va rezolva problema Tongue.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #46 : August 03, 2009, 15:08:34 »

Pune-ti Ubuntu, iti va rezolva problema Tongue.
Nu cred ca merita instalat Ubuntu doar pentru ca nu merge MingW. Incearca si alte IDE-uri, gen Code::Blocks sau DevCpp. Insa incearca sa reinstalezi Mingw, intrucat mie mi s-a parut destul de bun si (cat l-am folosit) nu mi-a facut figuri.
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #47 : August 03, 2009, 19:40:34 »

Eu sincer am avut multe probleme cu MinGW cand eram pe Windows de aceea nu recomand.
Memorat
O_Neal
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #48 : Februarie 08, 2010, 16:17:29 »

O mica/mare nelamurire.. compilez in MinGW o sursa.. primesc valori aiurea.. se comporta ciudat ..( o functie care intra pe o ramura de return 1 returneaza 0 sau valori aiurea sau nush ) .. si am observat ca daca schimb long long-urile in long-uri sau ma rog ... atunci merge.. insa sursa este de 100 de puncte ( noroc ca am incercat sa o trmit sa vad ). Deci nu merge long long-u in MinGW altfel nu imi pot explica, pt ca atunci cand declar long cele 2-3 variabile.. merge brici .. chiar nu inteleg.. de ce sa nu mearga long long-u? eroare nu da.. prin urmare? care-i faza? ms anticipat, chiar astept un raspuns ca  Brick wall sursa e ultima trimisa ( nu cred c-o sa fie mare activitate la problema asta deci o gasiti usor  Very Happy )
Memorat
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #49 : Februarie 08, 2010, 16:31:40 »

O mica/mare nelamurire.. compilez in MinGW o sursa.. primesc valori aiurea.. se comporta ciudat ..( o functie care intra pe o ramura de return 1 returneaza 0 sau valori aiurea sau nush ) .. si am observat ca daca schimb long long-urile in long-uri sau ma rog ... atunci merge.. insa sursa este de 100 de puncte ( noroc ca am incercat sa o trmit sa vad ). Deci nu merge long long-u in MinGW altfel nu imi pot explica, pt ca atunci cand declar long cele 2-3 variabile.. merge brici .. chiar nu inteleg.. de ce sa nu mearga long long-u? eroare nu da.. prin urmare? care-i faza? ms anticipat, chiar astept un raspuns ca  Brick wall sursa e ultima trimisa ( nu cred c-o sa fie mare activitate la problema asta deci o gasiti usor  Very Happy )

Daca ai probleme la afisarea, incearca sa afisezi cu streamuri:

long long s = 1000000000000123456LL;

cout<<s;


Eu cand sunt pe Windows lucrez pe MingW si nu am probleme! (lucrez de vreo 5 ani)
Memorat
Pagini: 1 [2] 3   În sus
  Imprimă  
 
Schimbă forumul:  

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