A-div2:
Calculaţi diferenţa n - 10 (ca dama de pică este estimat la 10 puncte). În cazul în care diferenţa este în intervalul [1, 9], sau egal cu 11, răspunsul este de 4, deoarece cartele cu valorile nominale de o bucată 4 la valoarea nominală. În cazul în care diferenţa este de 10, răspunsul este de 15, respectiv 4 zeci, 4 Jacks, 3 doamne (dama de pică dintr-un pachet îndepărtat) şi 4 ale regelui. În toate celelalte cazuri, răspunsul este zero (pentru motive evidente).
B-div2/A-div1:
Este suficient să folosească relaţia recurenţă următoarele: numărul de [i] = numărul de [i - 1] + 1 + (răspunsuri [i] - 1) * I, şi reţineţi că conta [1] = raspunsuri [1]. O serie de răspunsuri [i] reprezintă numărul de răspunsuri la întrebarea i-lea, conta [i] - numărul de clicuri necesare pentru a răspunde la întrebarea i-lea.
Explicarea formula:
Pentru a răspunde la prima întrebare trebuie să ne examineze toate opţiunile posibile pentru răspunsul. Pentru a răspunde la întrebarea i-lea, trebuie să ştiţi răspunsul corect la (i - 1)-lea întrebare şi apoi să examineze toate răspunsurile la i-lea. Prima încercare de a se face într-un singur clic, în următorii - pentru faceţi clic pe I (după cum vom începe să răspundă la prima).
C-div2/B-div1:
Cu DFS găsi numărul de cicluri în grafic şi testaţi-l pentru conectivitate. În cazul în care Graficul este conectat, şi un ciclu - asa ca e Cthulhu, în caz contrar nu este Cthulhu (CO).
D-div2/C-div1:
Cea mai mare parte din această sarcină - să găsiţi cele regularitatea cartuşelor de celule. Găsim acest model de inducţie. Dacă un cartuş - acesta poate fi plasat oriunde, ci pentru că avem nevoie de un şir de minim lexicografic, a pus în celula din dreapta-cel mai mult. Considerăm acum cazul cu o multime de munitie. Atunci când avem un cartuş este în celulă extrema dreapta, celula cu aceeaşi paritate pierd la noi, iar restul - prin urmare, castigatoare. Astfel Ideea este că noi trebuie să completeze în mod deliberat a pierde o celulă la dreapta la stânga, şi după umplere pentru a umple de la dreapta la stânga şi câştigătoare a celulei. Dar ... acest lucru este valabil doar pentru un număr par de celule. Pentru un numar impar de celule este mai profitabil pentru a trimite al doilea cartuş în celulă penultima (de la numărul de celule câştiga tot nu se schimba, dar la compararea lexicografic din şir va fi mai puţin). În continuare, acelaşi umple cu un număr par de celule.
E-div2/D-div1:
Citeşte toate interogările şi sortaţi-le de b. Apoi, vom folosi DP pentru toate întrebările cu b <500 (cererile pentru că ne sunt ordonate să memoreze răspunsurile pe care le avea destul uni-dimensionale matrice dimensiune n), iar altele se calculează algoritmul naiv. Pentru o explicaţie de ce ar trebui să sortare, datorită Alexander Milaninu ( Milanin ).
E-div1:
Această sarcină nu am decis încă).
Apoi, vom folosi DP pentru toate întrebările cu b <500
Scrii fie o notă (CO), sau trebuie să-l descriu, pentru DP.
În ceea ce priveşte D (div1). Este clar de ce anchete separate în două tipuri. Soluţia reală este chiar simplu.
Soluţia . Să numeri toate interogările naiv. Optimizare numai că facem - grup cereri (a, b) şi (o ", b), dacă un mod b == un" mod b. Este clar, de exemplu, modul de calculare (2.3) (5.3) şi (11.3) pentru n / 3 operaţiuni fără nici o memorie suplimentară, DP, etc Toate soluţie - un fel de cereri.
Dovada . Pentru a răspunde (a, b,) pentru a face n / b operaţiuni. Dar din moment ce Am grupat module, va trebui să se ocupe mai mult de astfel de cereri b. Găsim că pentru prelucrarea elementelor 2n pot fi efectuate cel puţin 3 cereri de 3n - nu mai puţin de 6, etc Timp total - O (n * sqrt (p)).
pare să destul de bun la asta. Şi aşa am citit posturile ruse şi japoneze.
:)
Next - No comment ..
Oricum - noroc bun!