Lista de probleme 7

Etichete

Se dă un șir (a[1], a[2], ..., a[n]) de numere naturale cuprinse între 1 și n. Se dau de asemenea Q interogări, fiecare prin două numere x, y: dacă s-ar ordona a[x], a[x+1], ..., a[y], se obține sau nu o secvență de numere consecutive? (De exemplu, 5,3,6,4 dacă e ordonată se obține 3,4,5,6, care este o secvență de numere consecutive). Dându-se Q întrebări, să se răspundă la acestea. La fiecare interogare, dacă prin sortare se obține o secvență de numere consecutive veți afișa valoarea 1, iar în caz contrar veți afișa valoarea 0.

Vi se dă un număr natural n și o secvență b[1], ..., b[n] ∊ {true, false}. Se garantează că există un număr natural k pentru care n = 2k - 1. Trebuie să generați o permutare p a elementelor {1, 2, ..., n} care îndeplinește anumite condiții. Fie S(p) numărul de indici i ∈ {1, 2, ..., n} pentru care binary_search(n, p, i) nu returnează b[i].

EJOI 2021, ziua 2

Dungeon Crawl: Paper Soup tocmai a devenit cel mai popular joc, iar tu eşti pe cale să îl încerci. Jocul se desfăşoară pe un teren dreptunghiular cu N linii și M coloane). La fiecare pas, jucătorul poate să se mişte pe direcțiile nord, sud, est sau vest. Dacă acesta ajunge pe o poziţie cu o monedă, colectează moneda, iar aceasta dispare de pe hartă. Dacă acesta ajunge pe o poziţie cu mină, sistemul de peşteri se prăbuşeste, jucătorul pierde toate monezile colectate până în acel moment, iar jocul se termină. Considerând că vei adopta cea mai bună strategie, care este numărul maxim de monezi pe care îl poţi obține garantat, indiferent de unde vei fi poziţionat la început?

#3861 addk

Se consideră un şir A cu N elemente numere naturale A[1], ..., A[N] si un număr natural K. Se cere să se proceseze Q cerinţe de următoarele două tipuri:

  • 1 i1 i2 ... iK: se permută circular la stânga elementele şirului A[i1], …, A[iK]. Astfel noile valori ale elementelor A[i1], A[i2], …, A[iK-1], A[iK] vor fi A[i2], A[i3], …, A[iK], A[i1]. Remarcaţi că i1, …, iK sunt distincte şi nu neapărat in ordine crescătoare.
  • 2 l r m: se cere calculul sumei elementelor tuturor subsecvenţelor continue de lungime m din secvenţa A[il], A[il+1], …, A[ir-1], A[ir]. Remarcaţi că elementele care apar în mai multe secvenţe vor fi adunate de mai multe ori.

Pe faleza râului Prahova primarul oraşului Ploieşti a plantat un şir de N arbuşti ornamentali de diverse soiuri, fiecare arbust i având iniţial înălţimea height[i], 1 ≤ i ≤ N. În funcţie de solul în care este plantat şi de vreme, arbustul i creşte zilnic cu înălţimea dailyGrowth[i]. În fiecare zi grădinarul primăriei ajustează, prin tăiere cu o foarfecă, înălţimea arbuştilor. Totuşi, grădinarul este limitat de detaliile tehnice ale foarfecii. Astfel, acesta poate tăia la o tăietură exact x centimetri din înălţimea unui arbust dacă înălțimea este cel puțin x (de notat faptul că arbustul poate ajunge la înălțimea 0 după o tăietură). Pentru a nu se obosi, grădinarul poate să efectueze într-o zi cel mult k tăieturi. Grădinarul poate să efectueze mai multe tăieturi asupra unui arbust într-o zi. Primarul organizează după M zile un eveniment artistic şi doreşte să aflaţi care este înălţimea minimă a celui mai înalt arbust după cele M zile.

#3866 xcopy

Astăzi, la finalul orei de informatică, profesorul a dat ca temă pentru acasă o problemă foarte dificilă, așa că elevii s-au hotărât să copieze unii de la alții. Vor trebui totuși să lucreze cât mai deștept pentru a nu fi prinși că au copiat. Clasa este alcatuită din N x M elevi, așezați în bănci pe N rânduri și M coloane. Pentru ca elevii să nu fie prinși că au copiat, toate temele acestora vor trebui să fie distincte. Mai mult, elevii sunt foarte leneși, așa că își vor modifica tema foarte puțin față de tema vecinilor. Mai exact, tema oricarui elev diferă prin exact un bit în scrierea în baza 2 față de tema oricărui vecin al său. Pentru a nu ridica suspiciuni prea mari, elevii doresc să creeze temele astfel încât cea mai mare valoare a unei teme să fie cât mai mică posibil. Fiind date dimensiunile clasei, N și M, contruiți o configurație a valorilor temelor fiecarui elev din clasă astfel încât profesorul să nu își dea seama că aceștia au copiat.

EJOI 2021, ziua 1

#3864 kpart

Virgil tocmai și-a propus să studieze proprietăți ale șirurilor. Astfel, el definește un K-șir ca fiind orice șir de numere naturale nenule care are proprietatea că orice subsecvență a sa de lungime K se poate partiționa în două subșiruri disjuncte, nu neapărat subsecvențe, având suma egală. De exemplu 1, 2, 1, 3 e un 3-șir, căci 1, 2, 1 poate fi partiționat în 1, 1 și 2, și 2, 1, 3 poate fi partiționat în 2, 1 și 3. Nu este 2-șir căci 1, 2 nu poate fi partiționat în două subșiruri cu sumă egală. Totodată nu este 4-șir. Pentru T șiruri de numere naturale nenule A, Virgil dorește să afle toate valorile K pentru care șirul A poate fi numit K-șir.