Afişează mesaje
|
|
Pagini: [1] 2 3 ... 20
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / problema B
|
: Mai 21, 2010, 18:13:51
|
Am atasat enuntul problemei, ma chinui de cateva zile la ea si tot nu stiu unde gresesc la rezolvare. Algoritmul meu e simplu, am un vector was[ j ] <- semnifica ca suma a j de h'uri a fost atinsa si retin, in acelasi timp, si suma de n'uri. In Mt voi avea rezultatul final, iar in s tin minte suma tuturor n'urilor. La fiecare pas cand generez o suma noua Mt=min( Mt, s-was[ new_sum ] + new_sum^4 ); , nu inteleg unde as putea gresi, any ideas ? #include <cstdlib> #include <iostream> #define Nmax 60 #define NNmax 600 #define oo 9999999999999999LL
/* * */ using namespace std; int was[NNmax]; bool wass[NNmax]; int nk[Nmax], hk[Nmax]; inline long long int solve( void ) { int N, i; long long int Mt=oo, j, p, maxim, s=0; cin>>N; for( i=1; i < N; ++i ) cin>>nk[i]>>hk[i], s+=nk[i]; wass[0]=true; for( i=1, maxim=0; i < N; ++i ) { for( j=maxim; j >= 0; --j ) if( wass[ j ] ) { wass[ j+hk[i] ]=true; was[ j+hk[i] ]=was[j]+nk[i]; p=j+hk[i]; Mt=min( Mt, s-was[ j+hk[i] ] + p*p*p*p ); maxim=min( 500LL, max( j+hk[i], maxim ) ); } } for( j=0; j <= maxim; ++j ) wass[j]=was[j]=false; return Mt; } int main( void ) { int T; for( cin>>T; T; --T ) cout<<"Minimum fuel consumption = "<<solve()<<".\n"; return 0; }
|
|
|
|
|
7
|
Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Introducere in algoritmi
|
: Mai 13, 2010, 05:35:04
|
Sunt si eu in dubii de cateva zile daca sa-mi cumpar sau nu traducerea in limba romana. M-ar interesa niste pareri ale ceror care o au in romana. Nu am reusit sa o gasesc mai ieftin de 120 RON, ceea ce pt mine cel putin e un pret maricel, si nu vreau sa fac o greseala ...  Este bine tradusa sau recomandati varianta in engleza ? Daca sti engleza, de ce nu incerci sa faci rost de ea in engleza ? E mult mai bine sa ai o carte in limba originala decat tradusa ( cand se poate, logic )  @Marginean Ciprian Nu stiu ce are tota lumea cu cartea asta, da e scrisa destul de ok, dar nimic impresionant. Ce scrie in ea poti gasi oriunde pe internet daca ai habar sa cauti
|
|
|
|
|
10
|
Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Ubuntu 10.04e
|
: Mai 09, 2010, 06:59:49
|
Ce setari ai facut ? Pentru conexiunea pppoe: Applications->Accessories->Terminal gksu gedit /etc/apt/sources.list
Si adaugi la sfarsitul fisierului deb http://ppa.launchpad.net/network-manager/trunk/ubuntu lucid main deb-src http://ppa.launchpad.net/network-manager/trunk/ubuntu lucid main
Faci un mic update Instalezi Network Manager sudo apt-get install network-manager
gksu gedit /etc/ppp/pppoe_on_boot
Indentifici linia exe pppd call dsl-provider
si ii adaugi un # la inceput. redenumeste /etc/network/interfaces . Apoi gksu gedit /usr/share/polkit-1/actions/org.freedesktop.network-manager-settings.system.policy
Gaseste "System policy prevents modification of system settings" iar mai jos trebuie sa fie auth_admin_keep modifica "no" in "yes" ( fara ghilimele ) apoi da un restart. Dupa restart te duci in Network Manager si configurezi o conexiune DSL si gata problema  sursa: http://www.ubuntugeek.com/how-to-setup-networkmanager-work-with-pppoe-connection-on-ubuntu-9-10-karmic.html
|
|
|
|
|
11
|
Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Ubuntu 10.04
|
: Mai 08, 2010, 17:55:34
|
PS : Daca a mai avut cineva problema cu netu si a rezolvat-o il rog sa imi impartaseasca si mie solutia care a functionat pentru el (problema e dezbatuta pe larg pe net) printr-un PM. (sensul acestui topic e cu totul altul, dupa ce am inteles eu din primul post)
Ai o conexiune pppoe ? sau ... ? Si eu am net de la RDS ( ce e drept prin fibra optica, dar am avut si prin modem aprox. 2 ani ) si n-am nici o problema, ma rog dupa ce am facut niste mici setari . L-am instalat de cateva lunii si e destul de ok  , am avut mici probleme cu update-ul si cu Synaptic ( nu instalat unele programe ... ). Mi se pare mie sau anumite efecte din Compiz parca au "disparut" in Ubuntu 10.04 ? All in all e destul de bun 
|
|
|
|
|
20
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: parsare
|
: Aprilie 23, 2010, 14:06:42
|
Poti folosii urmatoare functie de parsare //ideea e sa citesti blocuri de lungime SIZE si sa prelucrezi datele din acel bloc si sa treci la urmatorul si tot asa :) #define SIZE 8219 int idx; char file[SIZE]; inline void read( int& x ) { int sign=1; while( file[idx] < '0' || file[idx] > '9' ) { if( '-' == file[idx] ) sign=-1; if( ++idx ==SIZE ) { idx=0; in.read( file, SIZE ); } } for( x=0; file[idx] >='0' && file[idx] <= '9'; ) { x=x*10+file[idx]-'0'; if( ++idx == SIZE ) { idx=0; in.read( file, SIZE ); } } x*=sign; }
Sper ca n-am gresit la implementare .... Pentru a citi intreg fisierul poti folosi in.getline( sir, lungime, EOF ); sau in.read( sir, lugime ); numai ca trebuie sa ai suficienta memorie pentru asta
|
|
|
|
|
21
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 021 Invers modular
|
: Aprilie 19, 2010, 12:39:27
|
Pentru orice numar N>=P, N! % P este automat egal cu 0. Este asa sau gresesc ?
Da, si este simplu de justificat. N!=1*2*3*...*N, daca N >= P N!=1*2*3*...*P*...*N => N! este un multiplu de P, deci N! se imparta exact la P. Terenul asta e intr-un fel "minat" pentru mine, pt ca nu am cunostinte solide de aritmetica modulara.
Poate te ajuta asta.
|
|
|
|
|