QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 512 MB 満点: 100 ハック可能 ✓

#21426. Богатство на три жизни

統計

Предыстория

«Дитя моё, если я дам тебе богатство на три жизни, будешь учиться?»

Сегодня 玛德琳 и 坏德琳 подошли к волшебному автомату. В нём есть шарики четырёх цветов, каждый со своим назначением. Синий шарик — самый простой: отскочив от него, вы получаете возможность сделать один рывок. Розовый шарик — улучшенная версия: отскочив от него, вы получаете два рывка. Отскок от белого шарика не даёт рывков. После одного отскока на жёлтом шарике вырастают шипы, и впоследствии касаться его уже нельзя.

Уровень в этом автомате можно описать последовательностью цветов. 玛德琳 и 坏德琳 играли очень долго, но так и не прошли первый уровень. От отчаяния 玛德琳 расплакалась! Она решила воспользоваться программой для читов! Эта программа весьма необычна: она может менять только белые и жёлтые шарики и только на синие и розовые, причём позиция изменяемого шарика каждый раз заранее определена. Узнав об этом, 坏德琳 решила помешать 玛德琳 жульничать, поэтому взломала программу и получила право менять цвет жёлтых шариков. При этом 玛德琳 считает, что цепочка одинаковых шариков делает уровень проще. Простотой уровня она называет максимальную длину одноцветного отрезка. 玛德琳 хочет максимизировать эту величину, а 坏德琳 — минимизировать.

Условие задачи

Alice и Bob играют на последовательности длины $n$. Каждый её элемент может принимать только значение $0$ или $1$, а момент определения значения каждого элемента задан до начала игры.

Даны последовательности $p$ и $a$ длины $n$, где $p$ — перестановка $1\dots n$, а $a_i\in\{-2,-1,0,1\}$.

Значение $i$-го элемента последовательности определяется в момент $p_i$ по следующим правилам:

  • Если $a_i=0$, элементу присваивается значение $0$;
  • если $a_i=1$, элементу присваивается значение $1$;
  • если $a_i=-1$, значение элемента в этот момент выбирает Alice;
  • если $a_i=-2$, значение элемента в этот момент выбирает Bob.

До начала игры Alice и Bob знают обе последовательности $p$ и $a$. Игра длится $n$ моментов времени. В момент $k$ определяется значение в той позиции $i$, для которой $p_i=k$; после завершения всех $n$ моментов значение каждого элемента последовательности будет определено ровно один раз.

Одноцветным непрерывным отрезком называется пара $(l,r)$, для которой $l\le r$ и значения всех элементов с $l$-го по $r$-й одинаковы. Если такой отрезок нельзя продлить ни влево, ни вправо (то есть $l=1$ или значение $l-1$-го элемента отличается от них, и при этом $r=n$ или значение $r+1$-го элемента отличается от них), он называется максимальным по включению одноцветным непрерывным отрезком. Длина $(l,r)$ равна $r-l+1$.

Alice хочет максимизировать наибольшую длину среди всех максимальных по включению одноцветных непрерывных отрезков последовательности после момента $n$, а Bob хочет минимизировать эту величину.

Дано положительное целое число $typ \in \{1,2\}$.

Если $typ=1$, оба игрока действуют оптимально. Найдите наибольшую длину среди максимальных по включению одноцветных непрерывных отрезков итоговой последовательности. Можно доказать, что ответ определён однозначно.

Если $typ=2$, дополнительно дана последовательность $A$ длины $n$. Значение $A_i \in \{0,1\}$ задаёт решение, принятое в момент $i$ игры: пусть $x$ — единственное положительное целое число среди $1,2,\dots,n$, для которого $p_x=i$; тогда $x$-му элементу последовательности присваивается значение $A_i$ (возможна ситуация, когда космический луч попадает в позицию $x$, из-за чего $a_x,A_i \in \{0,1\}$ и $a_x \neq A_i$). Для каждого $i=0,1,\dots,n$ найдите длину $ans_i$ самого длинного одноцветного непрерывного отрезка итоговой последовательности, если до момента $i$ включительно решения принимаются согласно последовательности $A$, а после завершения момента $i$ оба игрока действуют оптимально.

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

Эту задачу необходимо решать в онлайн-режиме.

Первая строка содержит положительное целое число $T$ — количество наборов данных.

Далее следуют $T$ наборов данных. Каждый набор имеет следующий вид:

Первая строка содержит два положительных целых числа $n$ и $typ$.

Вторая строка содержит $n$ целых чисел $p_1,p_2,\dots,p_n$.

Третья строка содержит $n$ целых чисел $a_1,a_2,\dots,a_n$.

Если $typ=2$, четвёртая строка содержит $n$ целых чисел $A'_1,A'_2,\dots,A'_n$.

Истинное значение $A_i$ получается применением побитового исключающего ИЛИ к $A'_i$ и $ans_{i-1}$ и последующим взятием остатка по модулю $2$.

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

Для каждого набора данных:

Если $typ=1$, выведите в одной строке одно целое число — длину самого длинного одноцветного непрерывного отрезка итоговой последовательности при оптимальной игре обоих игроков.

Если $typ=2$, выведите в одной строке $n+1$ целых чисел: для каждого $i=0,1,\dots,n$ — длину самого длинного одноцветного непрерывного отрезка итоговой последовательности, если до момента $i$ включительно решения принимаются согласно последовательности $A$, а после завершения момента $i$ оба игрока действуют оптимально.

Примеры

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

1
3 1
3 1 2
-1 -2 -1

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

3

Примечание

$p=[3,1,2]$ означает $p_1=3,\ p_2=1,\ p_3=2$: значение $1$-го элемента определяется в момент $3$, значение $2$-го — в момент $1$, а значение $3$-го — в момент $2$. Таким образом, порядок моментов следующий:

  • Момент $1$: определяется значение $2$-го элемента ($a_2=-2$, выбирает Bob);
  • момент $2$: определяется значение $3$-го элемента ($a_3=-1$, выбирает Alice);
  • момент $3$: определяется значение $1$-го элемента ($a_1=-1$, выбирает Alice).

Alice хочет, чтобы самый длинный одноцветный отрезок был как можно длиннее, а Bob — как можно короче. Хотя Bob ходит первым, он контролирует только $2$-й элемент в центре; Alice контролирует оба крайних элемента, $1$-й и $3$-й.

Если Bob присвоит $2$-му элементу значение $0$, Alice может присвоить $1$-му и $3$-му элементам также $0$, получив итоговую последовательность 0 0 0 с самым длинным одноцветным отрезком длины $3$. Если же Bob присвоит $2$-му элементу значение $1$, Alice аналогично выберет для обоих элементов $1$, получив 1 1 1, и длина самого длинного одноцветного отрезка опять будет равна $3$.

Оба выбора Bob приводят к одному и тому же результату: он не может уменьшить ответ ниже $3$. Alice, в свою очередь, может в лучшем случае сделать одноцветной всю последовательность, поэтому ответ равен $3$.

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

1
2 1
2 1
-1 -1

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

2

Примечание

$p=[2,1]$ означает $p_1=2,\ p_2=1$: значение $1$-го элемента определяется в момент $2$, а значение $2$-го — в момент $1$. Значение $a$ обоих элементов равно $-1$, поэтому оба значения выбирает Alice:

  • Момент $1$: определяется значение $2$-го элемента ($a_2=-1$, выбирает Alice);
  • момент $2$: определяется значение $1$-го элемента ($a_1=-1$, выбирает Alice).

Alice хочет максимизировать длину самого длинного одноцветного отрезка. Поскольку она выбирает значения обоих элементов, достаточно присвоить им одинаковые значения, получив 0 0 или 1 1. Тогда $(1,2)$ будет максимальным по включению одноцветным непрерывным отрезком длины $2$. Общая длина последовательности равна лишь $2$, поэтому это и есть наилучший достижимый для неё результат.

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

3
2 1
1 2
-1 -2
4 2
1 3 2 4
-1 0 -2 -1
1 0 0 1
3 1
3 1 2
0 0 1

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

1
2 2 3 2 2
2

Ограничения

В этой задаче используются обоснованные зависимости между подзадачами.

Для всех данных гарантируется:

  • $1 \leq T \leq 2 \times 10^5$, $1\le n\le 2\times 10^5$, $1 \le typ \le 2$, $1 \leq \sum n \leq 2 \times 10^5$.

  • $p$ — перестановка $1\dots n$.

  • $a_i\in\{-2,-1,0,1\}$.

  • $A_i\in\{0,1\}$.

Номер подзадачи $T \leq$ $n \leq$ $typ=$ $\sum n \leq$ Особое свойство Баллы
$1$ $2 \times 10^5$ $2 \times 10^5$ $1$ $2 \times 10^5$ A $3$
$2$ $40$ $20$ $2$ $40$ Нет $9$
$3$ $200$ $200$ $1$ $200$ $10$
$4$ $2$ $8$
$5$ $2000$ $1000$ $1$ $2000$ $8$
$6$ $2 \times 10^5$ $2 \times 10^5$ $2 \times 10^5$ B $14$
$7$ $2$ $11$
$8$ $1$ Нет $17$
$9$ $2$ $20$

Особое свойство A: гарантируется $a_i\in\{0,1\}$.

Особое свойство B: гарантируется, что $p$ и $a$ генерируются случайно среди последовательностей длины $n$, удовлетворяющих ограничениям.

Обратите внимание: подзадачи $3,4,5,8,9$ зависят от подзадачи $2$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download
#3111EditorialOpen$O(n)$ Solution by 不是佛学工作者UrdView

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.