#P1975. [国家集训队] 排队

    ID: 926 Type: RemoteJudge 1000ms 125MiB Tried: 2 Accepted: 2 Difficulty: 6 Uploaded By: Tags>WC/CTSC/集训队树套树分块

[国家集训队] 排队

题目描述

排排坐,吃果果,生果甜嗦嗦,大家笑呵呵。你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和。

红星幼儿园的小朋友们排起了长长地队伍,准备吃果果。不过因为小朋友们的身高有所区别,排成的队伍高低错乱,极不美观。设第 ii 个小朋友的身高为 hih_i

幼儿园阿姨每次会选出两个小朋友,交换他们的位置,请你帮忙计算出每次交换后,序列的逆序对数。为方便幼儿园阿姨统计,在未进行任何交换操作时,你也应该输出该序列的逆序对数。

输入格式

第一行为一个正整数 nn,表示小朋友的数量;

第二行包含 nn 个由空格分隔的正整数 h1,h2,,hnh_1,h_2,\dots,h_n,依次表示初始队列中小朋友的身高;

第三行为一个正整数 mm,表示交换操作的次数;

以下m行每行包含两个正整数 ai,bia_i,b_i,表示交换位置 aia_ibib_i 的小朋友。

输出格式

输出文件共 m+1m+1 行,第 ii 行一个正整数表示交换操作 ii 结束后,序列的逆序对数。

3
130 150 140
2
2 3
1 3
1
0
3

提示

【样例说明】
未进行任何操作时,(2,3)(2,3) 为逆序对;
操作一结束后,序列为 130 140 150130 \ 140 \ 150,不存在逆序对;
操作二结束后,序列为 150 140 130150 \ 140 \ 130(1,2),(1,3),(2,3)(1,2),(1,3),(2,3)33 个逆序对。

【数据范围】
对于 10%10\% 的数据,n,m15n,m \le 15
对于 25%25\% 的数据,n,m200n,m \le 200
另有 25%25\% 的数据,hih_i 各不相同;
另有 15%15\% 的数据,110hi160110 \le h_i \le 160
以上两类数据交集为空。

对于100%的数据,1m2×1031 \le m \le 2\times 10^31n2×1041 \le n \le 2 \times 10^41hi1091 \le h_i \le 10^9aibia_i \ne b_i1ai,bin1 \le a_i,b_i \le n