Nu exista pagina, dar poti sa o creezi ...
Diferente pentru problema/preasimplu intre reviziile #43 si #6
Diferente intre titluri:
PreaSimplu!
preasimplu
Diferente intre continut:
== include(page="template/taskheader" task_id="preasimplu") ==
In drumul sau spre olimpiadele internationaleArhitectulIerdnac s-a gandit la urmatoarea problema:
Arhitectul ierdnac s-a gandit la urmatoarea problema:
bq. Fie un sir binar b{~i~} cu $N$ elemente. Initial toti bitii sai sunt setati pe valoarea $0$. Fie $flip(l, r)$ o operatie ce schimba elementele sirului in felul urmator: {*} Daca rangul elementului la care ne referim *nu* apartine intervalului $[l, r]$, atunci elementul respectiv ramane neschimbat; {*} Altfel, elementul isi schimba valoarea (adica din $0$ devine $1$ si, respectiv, din $1$ devine $0$). Se cere numarul de siruri finale ce se pot obtine daca se efectueaza fix $K$ operatii de $flip$ la alegere. Deoarece raspunsul poate fi destul de mare, se cere afisarea acestuia modulo $10^9^ + 7$. Vazut fiind acolo, acesta s-a intalnit cu Bossu' Frumosu' si i-a povestit despre problema. Acesta a raspuns imediat prin faimoasa deja replica "Prea simplu!" si a sugerat mai multe metode de a complica artificial problema. Dupa lungi deliberari, comisia a decis - numarul de solutii va trebui afisat modulo un numar natural nenul $MOD$ arbitrar! Din nefericire, Bossu' Frumosu' nu stia sa solutioneze noua problema, dar Arhitectul Ierdnac exclama imediat "Da' stai dom'le ca e usoara!" si, astfel, problema a ajuns in setul de probleme Junior Challenge 2016.
bq. Fie un sir binar b{~i~} cu $N$ elemente. Initial toti bitii sunt setati pe valoarea $0$. Fie $flip(l, r)$ o operatie ce schimba elementele sirului in felul urmator: * Daca rangul elementului *nu* apartine intervalului $[l, r]$, atunci elementul respectiv ramane neschimbat; * Altfel, elementul isi schimba valoarea (adica din $0$ devine $1$ si din $1$ devine $0$).
h2. Date de intrare
Fişierul de intrare $preasimplu.in$va contine pe prima linie un numar natural nenul $T$, semnificand numarul de teste ce vor urma.Apoi, testele vor fi descrise pe cate o linie de forma $N K MOD$.
Fişierul de intrare $preasimplu.in$ ...
h2. Date de ieşire
Fişierul de ieşire $preasimplu.out$va contine $T$ linii, fiecare continand raspunsul pentru testul corespunzator din input.
În fişierul de ieşire $preasimplu.out$ ...
h2. Restricţii
* $1 ≤ T ≤ 250$ * $1 ≤ N, K ≤ 300 000$ * $2 ≤ MOD ≤ 1 000 000 007$ * Suma tuturor $N$-urilor din fisier $≤ 600 000$ * *Subtask 1 (10 puncte):* $1 ≤ N ≤ 8, 1 ≤ K ≤ 4$ - Fiecare test din grupa are $T = 32$ si fiecare pereche $(N, K)$ apare maxim o data in input (Feedback testul $2$) * *Subtask 2 (15 puncte):* $1 ≤ N ≤ 14, 1 ≤ K ≤ 14$ - Fiecare test din grupa are $T = 52$ si fiecare pereche $(N, K)$ apare maxim o data in input (totusi, testele grupei nu sunt maxime cu aceasta proprietate - altfel ar fi trebuit marita mult prea mult limita de timp pentru un astfel de subtask mic) (Feedback testul $3$) * *Subtask 3 (25 puncte):* $1 ≤ N x K ≤ 300 000$, iar suma dupa toate testele din fisierul curent din $N x K ≤ 1 200 000$ (Feedback testele $7$ si $8$) * *Subtask 4 (25 puncte):* $1 ≤ N, K ≤ 300 000$, $MOD = 10^9^ + 7$ (Feedback testele $11$ si $15$) * *Subtask 5 (25 puncte):* Restrictii initiale (Feedback testele $17$, $19$ si $20$)
* $... ≤ ... ≤ ...$
h2. Exemplu table(example). |_. preasimplu.in |_. preasimplu.out |
|1 2 1 1000 | 3
| This is some text written on multiple lines. | This is another text written on multiple lines.
| h3. Explicaţie
Sirul initial este $0 0$. Folosind operatia $flip(1, 1)$, se obtine sirul $1 0$; Folosind operatia $flip(2, 2)$, se obtine sirul $0 1$; Folosind operatia $flip(1, 2)$, se obtine sirul $1 1$. Asadar, se pot obtine $3$ siruri.
...
== include(page="template/taskfooter" task_id="preasimplu") ==