摘要: 一道简单分块题,题目要求的是逆序对数量,那么对于每一次交换位置$l,r(l \le r)\(的操作,我们只需要判断区间\)(L,R)$中大于与小于两个端点的数字个数即可,可以考虑将每个块中进行排序再二分达到快速查询,时间复杂度为$O(n\sqrt\log)$ 具体见代码 #include<iostr 阅读全文
posted @ 2021-02-01 20:15 DSHUAIB 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 这道题一眼看去好像不能用什么数据结构做出,所以就只有打分块暴力了,刚开始想的时候没有想到用前缀和,所以写出来的时间复杂度就达到了$O(n\sqrt\log)$,交上去不仅T了还WA了。后面加上了前缀和时间复杂度就可以过了 思路 假设将整个序列分为T块,那么考虑预处理一个数组$tim_{i,j}$表示 阅读全文
posted @ 2021-02-01 08:14 DSHUAIB 阅读(42) 评论(0) 推荐(0) 编辑