Blog AlexanderBolshakov

Autor AlexanderBolshakov , 4 luni în urmă , În limba rusă
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ă).
 
 
 
 

 
4 luni în urmă , #
  Vot: îmi place 19 Vot: Nu-mi place
C-div2/B-div1: este suficient să se verifice că marginile şi nodurile de un număr par, iar apoi - în DFS să verifice numai de conectivitate. În cazul în care graficul de termeni legate de noduri şi muchii şi acelaşi număr, apoi un ciclu simplu nu este intotdeauna exact 1.
 
4 luni în urmă , #
  Vot: îmi place 8 Vot: Nu-mi place

Apoi, vom folosi DP pentru toate întrebările cu b <500

Scrii fie o notă (CO), sau trebuie să-l descriu, pentru DP.

 
4 luni în urmă , #
  Vot: îmi place A Vot: Nu-mi place
Cant fi traduse în limba engleză
 
4 luni în urmă , #
  Vot: îmi place 12 Vot: Nu-mi place
Cred că este o problemă E puţin mestecate (div2).
Să împart în două tipuri de interogări: primul tip la care ne referim cererile pentru care b este mai mică de o constantă q (exact ceea ce va lua în considerare mai târziu), al doilea tip, respectiv, cele cu b  >  q
Am rezolva problema pentru al doilea tip de algoritm de interogări naiv că având în vedere pur şi simplu suma tuturor elementelor de matrice. Evident, pentru fiecare interogare de al doilea tip va fi nu mai mult de elementele necesare de matrice. Apoi, vom efectua toate cererile de timp
Am rezolva problema pentru întrebări legate de b  ≤  q . Noi considerăm separat cererile de la fiecare valoare specifică de b . Pentru fiecare interogare, avem nevoie pentru a calcula cantitatea de elemente din matrice, numerele nu sunt mai mici decât un egal şi la o modulo b . Apoi, du-te prin matrice până la capăt şi la fiecare iteratie, vom menţine o serie de p , unde p I - numărul total de elemente matrice trecut care dau un reziduu i modulo curent b (în acest grup de cereri). Apoi, dacă suntem la un moment dat în celulă v şi de grup interogare analiza cu unele b , apoi la momentul in care am şti răspunsul la toate întrebările cu o  =  V şi un fix b . Apoi, pentru întregul spectru de matrice, vom răspunde la toate solicitările cu un fix b . Pentru primul tip de interogări am rezolvat problema in timp O ( p · q ) .
Se obţine soluţia problemei în timp . Astfel, q este mai aproape de
  •  
    4 luni în urmă , # ^
    Editare 3   Vot: îmi place 2 Vot: Nu-mi place

    Ar adăuga următoarele la această dinamică: cazurile cu b <500 poate face mai mult de optimizare: dacă b <numărul de jafuri cu b, atunci algoritmul de naiv este mai rapid. Într-adevăr, aşa cum am trece prin toată gama de vaci, şi numai o parte (dacă avem cinci jafuri cu b = 10, atunci vom trece prin matrice 5 / 10 de vaci cu un algoritm naiv (de fiecare dată când trecem o parte / b din maxim matrice.)
    •  
      4 luni în urmă , # ^
        Vot: îmi place 0 Vot: Nu-mi place
      Ei bine, este posibil, da. Pur şi simplu nu înţeleg de ce chiar. În cazul în care punerea în aplicare este normal, atunci de optimizare nu este necesară, iar în cazul în care punerea în aplicare a curbei, astfel cum a fost în concurs mea, şi apoi de optimizare nu poate fi salvat. 
 
4 luni în urmă , #
Editare 3   Vot: îmi place 6 Vot: Nu-mi place

Î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)).

  •  
    4 luni în urmă , # ^
    Editare 2   Vot: îmi place o Vot: Nu-mi place

    Ei bine, de decizia dumneavoastră, în mod evident, este selectat cel mai rău caz (astfel că nu există nici o abur într-o mod b == un "mod b) - în mod evident, să se ocupe de greşeală a tuturor răspunsurilor pentru un b dat este cel mai bun pe caz contrar. Un "count (2.3) (5.3) şi (11.3) pentru iteraţii n / 3" - aceasta este doar o altă versiune a PD. Chiar şi cu O (1) memorie suplimentară.
    •  
      4 luni în urmă , # ^
        Vot: îmi place 2 Vot: Nu-mi place
      Bine ales - şi aceasta este o dovadă bună pentru o cel mai rău caz. Nu spun că această decizie repede, doar descrierea sa ocupă trei linii.
    •  
      4 luni în urmă , # ^
        Vot: îmi place 2 Vot: Nu-mi place
      Şi unde este PD? Doar treci pe matrice liniară. Un ciclu ca aceasta:
      pentru (int i = a% b; i <n; i + = b) {... }
      •  
        4 luni în urmă , # ^
          Vot: îmi place 2 Vot: Nu-mi place
        DP - sarcină dificilă prin împărţire în care se suprapun subproblems şi rezolvarea fiecăreia dintre aceste probleme de mai multe ori. În acest caz, liniar şi să treacă prin matrice se încadrează în această definiţie. Amintiţi-vă că este suficient înseamnă doar un singur lucru - suma anterioară vă şi vă confuzie.
        •  
          4 luni în urmă , # ^
            Vot: îmi place 12 Vot: Nu-mi place
          Hmm, bine, 90% dintre problemele Olimpiada - aceasta este PD. Luaţi chiar vs CF.
          Problemă A: Vom ciclu şi să acumuleze bani. Aceeaşi situaţie că problema G. Putem presupune DP.
          Sarcina B: Cum se DFS? El ia un vârf este de la alte ei, marcându-l aşa cum este folosit. Asta este, după un salt pentru a obţine un grafic fără un vârf unic, şi anume reduce problema originală la o dimensiune mai puţin de 1. Nu este JP?
          Problemă C: Există chiar şi o "parsare" este scris "va rezolva problema de inducţie", care implică o reducere la dimensiune mai mică. De asemenea, DP.
          Sarcina D: este descris intr-un post anterior.
          E problemă: găsirea de max. fluxul este redus la succesiunea de funcţia de apeluri dfsa, dar după cum am aflat de la B sarcină este PD.

          Dar, vorbind serios - numit DP poate fi o mulţime de lucruri şi nu există nici o limită clară. Dar totuşi, dacă aş fi întrebat despre unele probleme în care aveţi nevoie pentru a scrie o astfel de buclă, la fel ca în postul meu anterior, dar aş spune că este rezolvată dinamica - aceasta m-ar confunda foarte mult.

          Şi eu sunt rusine, spunând, în scris câteva posturi de mai jos: " Asta trebuie să vă fie ruşine că nu le puteţi vedea şi / sau la codul PD în legătură cu această problemă "şi un exemplu este dat posta  OBepkJIokEP Aveţi posibilitatea să apelaţi dinamica de tot, dar dacă Această definiţie nu este universal acceptată, nu este necesar să-l folosească peste tot.

          În mod similar, puteţi apela tot la televizor, ceea ce au de afişare pentru o lungă perioadă de timp sa te intrebi de ce atunci cand esti pe la întrebarea "Cât e ceasul?" răspuns "Nu ştiu, mi-am uitat la TV la domiciliu," oamenii privesc cu suspiciune la tine.
  •  
    4 luni în urmă , # ^
      Vot: îmi place 4 Vot: Nu-mi place
    Şi dacă interogarea i-lea este o pereche (o, i), complexitatea algoritmului este O (n * p), care este de aproximativ 10 ^ 10, care este evident in 4 secunde, nu va veni. Sau eu nu inteleg algoritm dvs.?
    •  
      4 luni în urmă , # ^
      Editare 2   Vot: îmi place 6 Vot: Nu-mi place

      Nr, complexitatea va fi n / 1 + n / 2 + ... n / i + ... - P-lea suma parţială a seriei armonice. Aceasta este de aproximativ O (n * ln (p)).
 
4 luni în urmă , #
  Vot: îmi place 3 Vot: Nu-mi place
Voi traduce partea care rămâne un pic mai târziu ...
 
4 luni în urmă , #
Editare 3   Vot: îmi place cinci Vot: Nu-mi place

Sincer, nu-mi plăcea de analiză, pentru că atât de multe lucruri neterminate la stânga. 
Aici, de exemplu, sarcina A (div2): " . În toate celelalte cazuri, răspunsul este zero (pentru motive evidente)
Este atât de dificil de a scrie de ce? Totuşi, aceasta nu este totul gata, cred. Sau, de asemenea, ai putea scrie doar "A (div2) - în mod evident." 
Alături de E problema (div2), am înţeles, la început nu a existat nici o explicaţie - ce fel. Deci, de ce trebuie luate pentru a analiza sarcinilor, în cazul în care nu există o înţelegere de rezolvare a problemelor? Mai ales, nu există nici o problemă E parsarea (div1). 
În opinia noastră, analiza arata ca un plan. Dar, dacă am vrut să ştiu "ce să facă pentru a face această sarcină", ​​aş putea uita doar la codul altcuiva. Dar în analiza, cred, trebuie doar să se concentreze pe ce să facă acest lucru, şi nu pe ce să fac. 
Iartă-mă pentru aviz poate prea critic, dar eu sunt doar parsarea a învăţat aproape nimic, şi am dori foarte mult să văd o analiză din partea autorilor.

Edit: Ei bine, în cazul în care este explicaţia de clasificare a E (div2)? : /
Edit2:  Eu sunt nimic despre explicaţia de E DP (div2). Ei bine, nu, ţi-e ruşine?
  •  
    4 luni în urmă , # ^
      Vot: îmi place -6 Vot: Nu-mi place
    Sunteţi executaţi în mine, ca şi tine au rezolvat toate problemele cu şase vs. Ne pare rău pentru digresiune.
    În ceea ce pentru A-div2. Există hărţi cu valoare negativă / zero nominală sau echivalentul a mai mult de 11? Nu este oare evident? Dacă nu este evident, aş sugera să schimbe ocupaţia ...
    În ceea ce pentru E-div2. De fapt, am criticat cea mai mare parte sunt de acord. Dar, în primul rând,  tunyash  este tot mestecate. Te poţi gândi la nici o analiza a ceea ce am scris, dar ceea ce a scris el.
    În ceea ce priveşte " Edit2: Eu sunt nimic despre explicaţia DP a E (div2) Ei bine, nu, ţi-e ruşine "?. ". Că ar trebui să fie rusine care nu le puteţi vedea şi / sau aplicate cod DP la sarcina. Mai ales, în comentariile descrise două variante ale PD ( aici  şi aici ).
    •  
      4 luni în urmă , # ^
        Vot: îmi place -1 Vot: Nu-mi place
      Ei bine, din nou, infinit de multe sunt lăsate la căpitan de probe. : (
      I. .. Nu, nu spune nimic mai bine.
 
4 luni în urmă , #
  Vot: îmi place 3 Vot: Nu-mi place
translate.google.com
pare să destul de bun la asta. Şi aşa am citit posturile ruse şi japoneze.
 
4 luni în urmă , #
Editare 2   Vot: îmi place 6 Vot: Nu-mi place

. Hotărât D sqrt-descompunere, offline solicită, de asemenea pot fi împărţite în două tipuri: b <= B şi b> B. (În decizia mea de a B = 175). Mâner al doilea este numit, vtupuyu, iar primul act în acest fel: Reţineţi că, pentru un b răspuns specific este suma a segmentului de una dintre aceste secvenţe: a [0], a [b], a [2b], ... a [ 1], un [b 1], un [2b o], ... .............................. ... a [b-1], a [2b-1], a [3b-1], ... Acum, la fiecare utilizare astfel de matrice imaginar sqrt-descompunere. Păstrarea toate aceste date în trei-dimensionale matrice de p, unde p [i] [j] conţine predproschitannye suma una dintre secvenţele de mai sus (în cazul în care i = b, şi j - indicele primului element din matrice una (de la 0 la b-1)) . Fiecare matrice p [i] [j] a sqrt lungime (n / i), precum şi numărul total de elemente în p este suma intre {i * sqrt (n / i)} = suma {sqrt (NI)} <= B * sqrt (NB) <= 1500000, ceea ce este minunat urca în memorie. TeX-formule în previzualizare părea atât de îngrozitoare care au decis să nu aplice














 
4 luni în urmă , #
  Vot: îmi place A Vot: Nu-mi place
multumesc pentru editorial
 
4 luni în urmă , #
  Vot: îmi place 9 Vot: Nu-mi place
Păstraţi - Multumesc pentru analiza. Şi apoi a fost adaugat in unele prin picurare, ca în cazul în care autorul a fost obligat să scrie. Dacă nu vă place - nu puteţi citi doar, şi, desigur, nimic de a comenta cu privire la calitate.
  •  
    4 luni în urmă , # ^
      Vot: îmi place 5 Vot: Nu-mi place
    Vino alaturi de noi ... toate înceapă atunci când scris pentru prima dată aici şi la acest moment, ele ar trebui să fie sprijinite. În cazul în care există defecte, subliniază erori -. Corectate şi sa întors la piesa Un alt lucru este că "tinerii şi fierbinte" de sine "este focul în sine," că în loc de expresia " Vă mulţumim pentru comentariul dvs. uchtu ... " sau " Cum doriţi (te) au sfătuit (arbore) pentru a scrie? " etc în răspunsul scris " ar putea sa credeti ... " Deci, este de dorit să-şi piardă abur şi du-te într-o direcţie mai constructivă. Iar dacă cineva nu-mi place - deci aici analiză informală, aşa cum este indicat în subiect, şi de a oferi acestora să ia. Din nou, va bine la toate, ca autor al postului şi care a scris, şi alţii, în special cei care sunt interesaţi atât de nu-ţi fie frică de critică şi nu reactioneaza puternic la aceasta - se gândească şi să încerce să scrie diferit ... Şi apoi încet începe să-l dovedesc.






    •  
      4 luni în urmă , # ^
        Vot: îmi place 6 Vot: Nu-mi place
      O discuţie a problemei "Aparţinând segment punctul" V-aţi uitat ...

      Acum, pe această temă. De fapt, critica ceva potrivit, dar nu în această formă. Expresii ce, evident, sa atins de Mine:
      1. " Deci, de ce a fost nevoie de analiza a problemelor, în cazul în care nu există o înţelegere de rezolvare a problemelor? " - Ei bine, cum ar putea el şti dacă sunt sau nu am înţeles? Mai întâi de toate, aş înţelege.
      2. Deja citat, " Eu sunt nimic despre explicaţia de E DP (div2) Ei bine, nu, ţi-e ruşine?. " - Şi într-adevăr, pentru ceea ce eu ar trebui să fie ruşine de? Ei bine, nu am descris detalii cu privire la PD, asa ca ce? Ceea ce nu se potriveste cu descrierea pe care a dat  tunyash ? Pentru mine personal este mai mult decât uşor de înţeles. Chiar dacă oamenii nu pot sa inteleg - de ce mergi la atacuri?
      •  
        4 luni în urmă , # ^
          Vot: îmi place A Vot: Nu-mi place
        Ai spus că lectura a fost dat o abordare integrată pentru a rezolva astfel de probleme. Iar răspunsul nu este de dorit într-o lună la alte resurse, şi la o dată şi acolo - în grup. Fiecare informaţie -. Locul lor Ei bine, am scris că reacţia de pe ambele maluri ale cacealma. Cineva mai degrabă acreală criticate de -. Dată aproape o lovit la spate destul de acreală a răspuns că a trecut aproape, în timp ce în mod corect a remarcat, în atacuri reciproce Dacă toată lumea a acordat o atenţie la toate cuvintele rostite dure împotriva lor, ar fi . ceva de neimaginat citeşte Deci, - în cazul în care consideră necesar - răspuns, şi, dacă nu a considerat necesar să se răspundă - nici un răspuns. Dar, în orice caz, trebuie doar să analizeze nu doar solutii, dar, de asemenea, mesajul. Şi întrebaţi-vă intrebari de genul " Cum sa elegant, astfel încât data viitoare aceste "raiduri" nu este aceasta? " Aceasta este în esenţă un proces de comunicare reciprocă, chiar dacă oamenii de la distanţă şi diferite pentru diferite motive, uneori, una şi aceeaşi frază reacţionează diferit. Prin urmare, nu este nevoie să înveţe arta de orice fel de comunicare pe Internet. La fel ca în viaţa reală, o dată pe glumit cu soţia mea - râzi, pentru că a fost o stare de spirit bună, şi, uneori, pentru o gluma ca puteţi obţine aproape o lingura de pe frunte ... :)   Si a scrie critici - nu ezitaţi. Acest lucru este similar cu soluţia de probleme: este imposibil de a învăţa să rezolve probleme fără rezolvare a acestora, astfel că nu poate explica într-adevăr decizia de a învăţa, nu încearcă să le explice altora.






        •  
          4 luni în urmă , # ^
            Vot: îmi place 0 Vot: Nu-mi place
          În primul rând, a răspuns în mod adecvat Michael G. (şi chiar a prezentat cu decizia), şi vă personal la mine toată ziua păcăli. De ce? Şi pentru că apoi a vărsat-o analiza ta, care te-au condus, citat aproape cuvânt cu cuvânt, "decizia algoritmic greşit." Apropo, aici e textul problemei şi analiza acesteia:

          Obiectiv:
          Puncte de accesorii din segmentul de
             Determinaţi dacă un punct dat aparţine segmentului.

          Specificaţii
             Intrare

             Şase numere întregi - coordonatele punctului şi coordonatele de început şi de sfârşit a segmentului. Toate numerele să nu depăşească modulo 10000.

             Producţie

             Imprimare "DA", în cazul în care punctul aparţine segmentului, şi "NU" în caz contrar.

          Analiza:
          Este suficient pentru a verifica dacă modulul este diferenţa dintre lungimea segmentului şi suma de distantele de la un punct dat la sfârşitul ei este practic zero, sau că acelaşi lucru a fost: un număr foarte mic, cum ar fi 10 ^ -10.

          PS discutat această problemă aici, pentru motivul pentru care am fost din DLKSH kick pentru inactivitate (care a început doar după o discuţie a acestei probleme).
          •  
            4 luni în urmă , # ^
              Vot: îmi place 0 Vot: Nu-mi place
            Si crezi ca postul de mai sus un răspuns adecvat?
            :)
            Next - No comment ..
            Oricum - noroc bun!


Original Text: