A2879 | 排队
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
排排坐,吃果果,生果甜嗦嗦,大家笑呵呵。你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和。
红星幼儿园的小朋友们排起了长长地队伍,准备吃果果。不过因为小朋友们的身高有所区别,排成的队伍高低错乱,极不美观。设第 $i$ 个小朋友的身高为 $h_i$。
幼儿园阿姨每次会选出两个小朋友,交换他们的位置,请你帮忙计算出每次交换后,序列的逆序对数。为方便幼儿园阿姨统计,在未进行任何交换操作时,你也应该输出该序列的逆序对数。
红星幼儿园的小朋友们排起了长长地队伍,准备吃果果。不过因为小朋友们的身高有所区别,排成的队伍高低错乱,极不美观。设第 $i$ 个小朋友的身高为 $h_i$。
幼儿园阿姨每次会选出两个小朋友,交换他们的位置,请你帮忙计算出每次交换后,序列的逆序对数。为方便幼儿园阿姨统计,在未进行任何交换操作时,你也应该输出该序列的逆序对数。
输入格式
第一行为一个正整数 $n$,表示小朋友的数量;
第二行包含 $n$ 个由空格分隔的正整数 $h_1,h_2,\dots,h_n$,依次表示初始队列中小朋友的身高;
第三行为一个正整数 $m$,表示交换操作的次数;
以下m行每行包含两个正整数 $a_i,b_i$,表示交换位置 $a_i$ 和 $b_i$ 的小朋友。
第二行包含 $n$ 个由空格分隔的正整数 $h_1,h_2,\dots,h_n$,依次表示初始队列中小朋友的身高;
第三行为一个正整数 $m$,表示交换操作的次数;
以下m行每行包含两个正整数 $a_i,b_i$,表示交换位置 $a_i$ 和 $b_i$ 的小朋友。
输出格式
输出文件共 $m+1$ 行,第 $i$ 行一个正整数表示交换操作 $i$ 结束后,序列的逆序对数。
输入输出样例
输入 #1
3 130 150 140 2 2 3 1 3
输出 #1
1 0 3
【样例说明】
未进行任何操作时,$(2,3)$ 为逆序对;
操作一结束后,序列为 $130 \ 140 \ 150$,不存在逆序对;
操作二结束后,序列为 $150 \ 140 \ 130$,$(1,2),(1,3),(2,3)$ 共 $3$ 个逆序对。
【数据范围】
对于 $15%$ 的数据,$n,m \le 15$;
对于 $30%$ 的数据,$n,m \le 200$;
另有 $15\%$ 的数据,$h_i$ 各不相同;
另有 $15\%$ 的数据,$110 \le h_i \le 160$;
以上两类数据交集为空。
对于$100\%$的数据,$1 \le m \le 2\times 10^3$,$1 \le n \le 2 \times 10^4$,$1 \le h_i \le 10^9$,$a_i \ne b_i$,$1 \le a_i,b_i \le n$。
未进行任何操作时,$(2,3)$ 为逆序对;
操作一结束后,序列为 $130 \ 140 \ 150$,不存在逆序对;
操作二结束后,序列为 $150 \ 140 \ 130$,$(1,2),(1,3),(2,3)$ 共 $3$ 个逆序对。
【数据范围】
对于 $15%$ 的数据,$n,m \le 15$;
对于 $30%$ 的数据,$n,m \le 200$;
另有 $15\%$ 的数据,$h_i$ 各不相同;
另有 $15\%$ 的数据,$110 \le h_i \le 160$;
以上两类数据交集为空。
对于$100\%$的数据,$1 \le m \le 2\times 10^3$,$1 \le n \le 2 \times 10^4$,$1 \le h_i \le 10^9$,$a_i \ne b_i$,$1 \le a_i,b_i \le n$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?