У Джонни новая игрушка. Как вы можете догадаться, она немного необычная. Игрушка является перестановкой $$$P$$$ чисел от $$$1$$$ до $$$n$$$, записанных в строку друг за другом.
Для каждого $$$i$$$ от $$$1$$$ до $$$n - 1$$$, между $$$P_i$$$ и $$$P_{i + 1}$$$ написан вес $$$W_i$$$, и эти веса также образуют перестановку чисел от $$$1$$$ до $$$n - 1$$$. Дополнительно есть веса $$$W_0 = W_n = 0$$$.
Инструкция гласит, что отрезок $$$[L, R]$$$ является хорошим, если $$$W_{L - 1} < W_i$$$ и $$$W_R < W_i$$$ для всех $$$i$$$ из $$$\{L, L + 1, \ldots, R - 1\}$$$. Для такого отрезка она также определяет $$$W_M$$$ как минимум из множества $$$\{W_L, W_{L + 1}, \ldots, W_{R - 1}\}$$$.
Теперь начинается веселье. За один ход, игрок может выбрать один из хороших подотрезков, разрезать на $$$[L, M]$$$ и $$$[M + 1, R]$$$ и поменять местами эти части. Более точно, до операции выбранный подотрезок игрушки выглядел следующим образом: $$$$$$W_{L - 1}, P_L, W_L, \ldots, W_{M - 1}, P_M, W_M, P_{M + 1}, W_{M + 1}, \ldots, W_{R - 1}, P_R, W_R$$$$$$ А после, он стал выглядеть так: $$$$$$W_{L - 1}, P_{M + 1}, W_{M + 1}, \ldots, W_{R - 1}, P_R, W_M, P_L, W_L, \ldots, W_{M - 1}, P_M, W_R$$$$$$
Такая операция может быть выполнена несколько раз (возможно, ноль), и целью является получить минимальное возможное количество инверсий в $$$P$$$.
Младшая сестра Джонни, Меган, считает, что правила слишком запутанные, поэтому она хочет проверить своего брата, выбирая некоторые пары индексов $$$X$$$ и $$$Y$$$, и меняя местами $$$P_X$$$ и $$$P_Y$$$ ($$$X$$$ может быть равно $$$Y$$$). После каждого действия сестры, Джонни интересуется, какого минимального количества инверсий можно достичь, начиная с текущего $$$P$$$ и делая корректные действия?
Вы можете считать, что входные данные были сгенерированы случайно. $$$P$$$ и $$$W$$$ были выбраны случайно и равновероятно среди всех перестановок, а запросы Меган были выбраны случайно и равновероятно среди всех пар индексов.
Первая строка содержит одно целое число $$$n$$$ $$$(2 \leq n \leq 2 \cdot 10^5)$$$, обозначающее длину игрушки.
Вторая строка содержит $$$n$$$ различных целых чисел $$$P_1, P_2, \ldots, P_n$$$ $$$(1 \leq P_i \leq n)$$$, обозначающих исходную перестановку $$$P$$$. Третья строка содержит $$$n - 1$$$ различных целых чисел $$$W_1, W_2, \ldots, W_{n - 1}$$$ $$$(1 \leq W_i \leq n - 1)$$$, обозначающих веса.
Четвертая строка содержит одно целое число $$$q$$$ $$$(1 \leq q \leq 5 \cdot 10^4)$$$ — количество действий Меган. Следующие $$$q$$$ строк содержат по два целых числа $$$X$$$ и $$$Y$$$ $$$(1 \leq X, Y \leq n)$$$ — индексы элементов $$$P$$$, меняющихся местами. Запросы не независимы, после каждого из них перестановка меняется.
Выведите $$$q$$$ строк. Строка номер $$$i$$$ должна содержать одно целое число — минимальное количество инверсий в перестановке, которое может быть получено, если начинать с $$$P$$$ после первых $$$i$$$ запросов и выполнять операции, описанные в инструкции.
3 3 2 1 2 1 3 1 3 3 2 3 1
0 1 0
5 4 3 2 5 1 3 2 1 4 7 5 4 5 2 1 5 2 4 2 4 4 3 3 3
3 1 2 1 2 3 3
Рассмотрим первый пример. После первого запроса, $$$P$$$ отсортирована, поэтому мы уже получили перестановку без инверсий.
После второго запроса, $$$P$$$ равна [$$$1$$$, $$$3$$$, $$$2$$$], в ней есть одна инверсия, и можно доказать, что получить $$$0$$$ инверсий невозможно.
В конце, $$$P$$$ равна [$$$2$$$, $$$3$$$, $$$1$$$]. Мы можем выбрать всю перестановку в качестве хорошего подотрезка, после чего $$$P$$$ станет равным [$$$1$$$, $$$2$$$, $$$3$$$], в котором $$$0$$$ инверсий.
Название |
---|