Олимпиадный тренинг

Задача . Cow Checkups


Задача

Темы:

**Замечание: мы не рекомендуем использовать для решения этой задачи язык программирования Питон, чтобы получить полный балл по этой задаче. **

\(N\) (\(1 \leq N \leq 7500\)) коров Фермера Джона стоят в ряд. Корова \(1\) стоит в начале этого ряда, а корова \(N\) - в конце. \(i\)-ая корова имеет разновидность \(a_i\) (\(1 \leq a_i \leq N\)).

ФД везет своих коров на осмотр в местную больницу для крупного рогатого скота. Однако ветеринар, специализирующийся на коровах, очень придирчив и хочет провести осмотр \(i\)-ой коровы в очереди, только если она относится к виду \(b_i\) (\(1 \leq b_i \leq N\)).

ФД ленивый и не хочет полностью переупорядочивать его коров. Он выполняет следующую операцию ровно один раз.

  • Выбирает два числа \(l\) и \(r\) такие, что \(1 \leq l \le r \leq N\). Реверсирует порядок коров между \(l\)-ой и \(r\)-ой коровами включительно.

ФД хочет измерить насколько эффективен его подход. Для каждого \(c=0 \ldots N\), помогите ФД помогите ФД определить количество различных операций (\(l,r\)) таких, что ровно \(c\) коров будут проверены ветеринаром. Две операции (\(l_1,r_1\)) и (\(l_2,r_2\)) считаются различными, если \(l_1 \neq l_2\) или \(r_1 \neq r_2\).

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит целое число \(N\).

Вторая строка содержит \(a_1, a_2, \ldots, a_N\).

Третья строка содержит \(b_1, b_2, \ldots, b_N\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Выведите \(N+1\) строку, где \(i\)-ая строка содержит количество различных операций (\(l,r\)), которые обеспечат, что ровно \(i-1\) корова будет проверена.


Примеры
Входные данныеВыходные данные
1 3
1 3 2
3 2 1
3
3
0
0

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя