QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 256 MB Points totaux : 100 Hackable ✓

#17736. Джерримендеринг массива

Statistiques

Busy Beaver решил баллотироваться в президенты. К сожалению, его единственный соперник, Lazy Lemur, слишком силен, и Busy Beaver не может победить обычными средствами. Поэтому он делает то, что делают все хорошие политики: фальсифицирует выборы с помощью джерримендеринга!

Страна Busy Beaver состоит из $N$ городов, расположенных в ряд и пронумерованных от $1$ до $N$. В каждом городе голосуют либо за Lazy Lemur, либо за Busy Beaver, что представлено $0$, если голос отдан за Lazy Lemur, и $1$, если голос отдан за Busy Beaver. Однако Busy Beaver может разделить $N$ городов на $K$ непустых блоков из подряд идущих городов, где каждый блок является избирательным округом. Для каждого значения $K$ от $1$ до $N$ Busy Beaver хочет максимизировать количество округов, в которых голосов за него строго больше, чем за Lazy Lemur.

Помогите Busy Beaver найти максимальное количество округов со строго большим числом голосов за него для каждого $K = 1, \dots, N$.

Входные данные

Каждый тест содержит несколько тестовых случаев. Первая строка содержит количество тестовых случаев $T$ ($1 \le T \le 10^4$). Далее следует описание тестовых случаев.

Первая строка каждого тестового случая содержит одно целое число $N$ ($1 \le N \le 10^5$), описывающее количество городов.

Вторая строка каждого тестового случая содержит строку $s$ из $0$ и $1$ длиной $N$, где $s_i = 0$ означает, что Lazy Lemur победил в $i$-м городе, а $1$ означает, что Busy Beaver победил в $i$-м городе, для каждого $i$ от $1$ до $N$.

Гарантируется, что сумма $N$ по всем тестовым случаям не превышает $10^5$.

Выходные данные

Для каждого тестового случая выведите $N$ целых чисел, где $K$-е число представляет собой максимальное количество округов, в которых Busy Beaver получил строго больше голосов после разделения городов на $K$ непустых блоков из подряд идущих городов.

Оценка

  • ($10$ баллов) Сумма $N$ по всем тестовым случаям не превышает $100$.
  • ($25$ баллов) Сумма $N$ по всем тестовым случаям не превышает $3000$.
  • ($65$ баллов) Сумма $N$ по всем тестовым случаям не превышает $10^5$.

Примеры

Входные данные 1

3
3
000
5
01101
8
11011011

Выходные данные 1

0 0 0
1 1 2 2 3
1 2 3 4 4 5 5 6

Примечание

Всего $3$ тестовых случая.

В первом тестовом случае Busy Beaver не может выиграть ни в одном округе, потому что в каждом городе голосуют за Lazy Lemur.

Во втором тестовом случае $5$ городов. Для $K = 3$ Busy Beaver может выиграть $2$ округа, разделив города на подмассивы $[1, 3]$, $[4, 4]$ и $[5, 5]$. В $[1, 3]$ $2$ из $3$ городов голосуют за него. Он проигрывает в подмассиве $[4, 4]$, так как единственный город там голосует не за него. Он выигрывает в подмассиве $[5, 5]$, так как единственный город там голосует за него. Можно доказать, что Busy Beaver не может выиграть более $2$ округов.

Заметьте, что разделение на подмассивы $[1, 2]$, $[3, 4]$ и $[5, 5]$ принесло бы ему победу только в $1$ округе. В частности, он выигрывает только в одном городе в каждом из подмассивов $[1, 2]$ и $[3, 4]$, и, следовательно, не имеет строгого большинства ни в одном из этих округов.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.