QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#143. Экспоненциальная формула

Estadísticas

Подсчеты, где постоянно нужно брать остаток от деления на $998244353$ или $10^9+7$, использование FFT и многоточечной оценки — всё это уже порядком надоело.

Для задач с маленькими простыми модулями существует немало прецедентов, например, задача, которую zx2003 пытался объяснить в прошлом году: коэффициенты высоких степеней малых многочленов по модулю малого простого числа.

Сегодня мы не будем заниматься ничем подобным, будем работать по модулю $2$, так что давайте посмотрим на нули и единицы.

У вас есть множество натуральных чисел $S$. Вам нужно для каждого $1\le k\le n$ найти количество способов распределить шары с номерами от $1$ до $k$ по нескольким ящикам так, чтобы количество шаров в каждом ящике принадлежало $S$. Вас интересует только четность этого количества.

Примечание: шары различимы, ящики неразличимы.

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

На вход подается строка из $0$ и $1$ длиной $n$. Если $x$-й символ равен $1$, это означает, что $x\in S$.

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

Выведите строку из $0$ и $1$ длиной $n$, где $k$-й символ обозначает $a_k \bmod 2$.

Примеры

Пример 1

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

10110

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

11000

Примечание

Для примера $1$ приведем количество способов для каждого $k$:

$k=1$: $\{\{1\}\}$, всего $1$ способ.

$k=2$: $\{\{1\},\{2\}\}$, всего $1$ способ.

$k=3$: $\{\{1\},\{2\},\{3\}\},\{\{1,2,3\}\}$, всего $2$ способа.

$k=4$:

  • $\{\{1\},\{2\},\{3\},\{4\}\}$
  • $\{\{1,2,3\},\{4\}\}$
  • $\{\{1,2,4\},\{3\}\}$
  • $\{\{1,3,4\},\{2\}\}$
  • $\{\{1\},\{2,3,4\}\}$
  • $\{\{1,2,3,4\}\}$
  • Всего $6$ способов.

$k=5$: всего $16$ способов, перечислять не будем.

Подзадачи

Для $10\%$ данных $n\le 10$.

Для $40\%$ данных $n\le 2000$.

Для $70\%$ данных $n\le 3\times 10^5$.

Для $100\%$ данных $n\le 2\times 10^6$.

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.