CF1361F.Johnny and New Toy
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Johnny has a new toy. As you may guess, it is a little bit extraordinary. The toy is a permutation P of numbers from 1 to n , written in one row next to each other.
For each i from 1 to n−1 between Pi and Pi+1 there is a weight Wi written, and those weights form a permutation of numbers from 1 to n−1 . There are also extra weights W0=Wn=0 .
The instruction defines subsegment [L,R] as good if WL−1<Wi and WR<Wi for any i in {L,L+1,…,R−1} . For such subsegment it also defines WM as minimum of set {WL,WL+1,…,WR−1} .
Now the fun begins. In one move, the player can choose one of the good subsegments, cut it into [L,M] and [M+1,R] and swap the two parts. More precisely, before one move the chosen subsegment of our toy looks like: $$$$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 $$ and afterwards it looks like this: $$ 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 $$ Such a move can be performed multiple times (possibly zero), and the goal is to achieve the minimum number of inversions in P .
Johnny's younger sister Megan thinks that the rules are too complicated, so she wants to test her brother by choosing some pair of indices X and Y , and swapping P_X and P_Y ( X might be equal Y ). After each sister's swap, Johnny wonders, what is the minimal number of inversions that he can achieve, starting with current P and making legal moves?
You can assume that the input is generated randomly. P and W$$ were chosen independently and equiprobably over all permutations; also, Megan's requests were chosen independently and equiprobably over all pairs of indices.
输入格式
The first line contains single integer n (2≤n≤2⋅105) denoting the length of the toy.
The second line contains n distinct integers P1,P2,…,Pn (1≤Pi≤n) denoting the initial permutation P . The third line contains n−1 distinct integers W1,W2,…,Wn−1 (1≤Wi≤n−1) denoting the weights.
The fourth line contains single integer q (1≤q≤5⋅104) — the number of Megan's swaps. The following q lines contain two integers X and Y (1≤X,Y≤n) — the indices of elements of P to swap. The queries aren't independent; after each of them, the permutation is changed.
输出格式
Output q lines. The i -th line should contain exactly one integer — the minimum number of inversions in permutation, which can be obtained by starting with the P after first i queries and making moves described in the game's instruction.
输入输出样例
输入#1
3 3 2 1 2 1 3 1 3 3 2 3 1
输出#1
0 1 0
输入#2
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
输出#2
3 1 2 1 2 3 3
说明/提示
Consider the first sample. After the first query, P is sorted, so we already achieved a permutation with no inversions.
After the second query, P is equal to [ 1 , 3 , 2 ], it has one inversion, it can be proven that it is impossible to achieve 0 inversions.
In the end, P is equal to [ 2 , 3 , 1 ]; we can make a move on the whole permutation, as it is a good subsegment itself, which results in P equal to [ 1 , 2 , 3 ], which has 0 inversions.