Pagini recente » Rating Andrei Mandrutz (downwhere) | Diferente pentru utilizator/gavrilavlad intre reviziile 271 si 188 | Diferente pentru utilizator/gavrilavlad intre reviziile 271 si 212 | Diferente pentru problema/dispozitiv intre reviziile 57 si 156
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="dispozitiv") ==
În Ţinutul Ooo, Regele Gheaţă a aruncat un blestem asupra Prinţesei Gumiţă. Ea a primit un string binar <tex> a_1 a_2 \dots a_N </tex>, alcătuit din 0-uri şi 1-uri.
!>problema/dispozitiv?poza_noua_dispozitiv2.png!
Pentru a rupe blestemul, Finn şi Jake au primit de la BMO un dispozitiv magic. Dispozitivul poate fi folosit pe orice subsecvenţă de lungime exact $K$, inversând fiecare bit din acesta (adică 0 devine 1 şi 1 devine 0).
În Tărâmul Ooo, Regele Gheaţă a aruncat un blestem asupra Prinţesei Gumiţă. Ea a primit un string binar $a{~1~} a{~2~} ... a{~N~}$, alcătuit din 0-uri şi 1-uri.
Pentru a rupe blestemul, Finn şi Jake au primit de la BMO un dispozitiv magic. Dispozitivul poate fi folosit pe orice subsecvenţă de lungime exact $K$, inversând fiecare bit din aceasta (adică 0 devine 1 şi 1 devine 0).
Scopul lor este să transforme întreg şirul în 0-uri, dacă este posibil.
Însă Regele Gheaţă nu stă degeaba. El intervine de $Q$ ori, iar de fiecare dată schimbă (inversează) un singur bit din şir, la o poziţie aleasă de el. După fiecare astfel de modificare, Finn şi Jake trebuie să verifice din nou dacă şirul poate fi adus la forma cu toate 0-uri, folosind dispozitivul magic.
Însă Regele Gheaţă nu stă degeaba. El intervine de $Q$ ori, iar de fiecare dată schimbă (inversează) un singur bit din şir, la o poziţie aleasă de el. După fiecare astfel de modificare, Finn şi Jake trebuie să verifice din nou dacă şirul poate fi adus la forma cu toate 0-uri, folosind dispozitivul magic. În plus, ei trebuie sa verifice si pentru şirul initial.
h2. Date de intrare
În fişierul de ieşire $dispozitiv.out$ se va afişa astfel:
* Pentru fiecare test, se vor afişa Q linii. Pe fiecare linie se va afla $YES$, daca toate valorile pot fi făcute $0$ sau $NO$ altfel.
* Pentru fiecare test, se vor afişa $Q+1$ linii. Pe fiecare linie se va afla $YES$, daca toate valorile pot fi făcute $0$ sau $NO$ altfel.
h2. Restricţii
* $1 ≤ T ≤ 10^4^$
* $1 ≤ K ≤ N ≤ 2 * 10^5^$
* $1 ≤ Q ≤ 2 * 10^5^$
* $1 ≤ T ≤ 10 000$
* $1 ≤ K ≤ N ≤ 200 000$
* $1 ≤ Q ≤ 200 000$
* Fie $S_N$ suma tuturor $N$-urilor dintr-un test de evaluare. Se garantează că $S_N ≤ 200 000$.
* Fie $S_Q$ suma tuturor $Q$-urilor dintr-un test de evaluare. Se garantează că $S_Q ≤ 200 000$.
* Se garantează că suma $N$-urilor este cel mult $2 * 10^5^$.
* Se garantează ca suma $Q$-urilor este cel mult $2 * 10^5^$.
|_. # |_. Punctaj |_. Restricţii |
| 1 | 6 | $S_N, S_Q <= 200$ |
| 2 | 15 | $S_N, S_Q <= 2 000$ |
| 3 | 7 | $K = N$ |
| 4 | 15 | $K = 2$ |
| 5 | 24 | $K ≤ 10$ |
| 6 | 33 | Fără alte restricţii |
h2. Exemplu
0011001001
2
2
3| YES
3 | YES
NO
YES
NO
NO
NO
NO
NO
|
NO
|
h3. Explicaţie
...
În primul test, şirul este iniţial $01100$ şi putem inversa substring-uri de lungime exact $K = 2$. $01100$ poate fi transformat în $00000$ prin inversarea substring-ului $[2, 3]$.
După prima actualizare, şirul devine $11100$. Se pare că acesta nu poate fi transformat în $00000$.
După a doua actualizare, şirul devine $10100$, care poate fi transformat în şir de zerouri prin inversarea substring-ului $[1, 2]$ (şirul devine $01100$), apoi prin inversarea substring-ului $[2, 3]$.
== include(page="template/taskfooter" task_id="dispozitiv") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.