|
||||||||||
Little Pony and Boast BustersTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 247 Accepted Submission(s): 109 Problem Description "I hereby challenge you, Ponyvillians: anything you can do, I can do better. Any takers? Anyone? Or is Trixie destined to be the greatest equine who has ever lived!?!" ¡ª "Boast Busters" Given two permutation P0 && P1 of {0, 1, ..., n - 1}, we define the crossing number of it as follows. Write P0 from left to right above P1 and draw a straight line between each same elements. The crossing number of P0 and P1 is the number of pairs of lines that cross. For example, if n = 5, and P0 = {0, 1, 2, 3, 4}, and P1 = {1, 3, 0, 2, 4}, then the crossing number of P0 and P1 is 3, as shown in the figure below. Now given you the two permutation, you need to implement the following operations: SWAP p a b: swap Pp[a] and Pp[b] (0<=p<=1, 0<=a, b<=n-1). QUERY: ask the crossing number of the current P0 and P1. Input Input contains multiple test cases (less than 10). For each test case, the first line contains one integer n (1<=n<=10^5). The second line contains n integers P0[0], P0[1], ..., P0[n-1]. The third line contains n integers P1[0], P1[1], ..., P1[n-1]. The next line contains one integer q ¡ª¡ª the number of operations (1<=q<=10^5). The next q line, each line will contains a operation as we mentioned above. Output For each query, output the corresponding result in one line. Sample Input
Sample Output
Source | ||||||||||
|