传送门 题意:询问区间内逆序对数 感觉这种题都成套路题了 两个预处理$f[i][j]$块i到j的逆序对数,$s[i][j]$前i块$\le j$的有多少个 用个树状数组就行了 预处理和查询都带$log$所以还是开根号n比较科学吧 ...
分类:
其他好文 时间:
2017-03-19 12:05:29
阅读次数:
199
D1T1:转圈游戏(circle) 题意:看题目。。 解题思路:快速幂求m*10^kmodn即可。 D1T2:火柴排队 题意:将一个数组中元素进行几次交换后使得这个数组的大小顺序与另一个数组相同。 解题思路:离散后排序求逆序对数。 ...
分类:
其他好文 时间:
2017-03-14 12:05:27
阅读次数:
242
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 【思路】看到这样的题目,最简单的想法就是遍历每一个元素,让其与后面的元素对比,如果大于 ...
分类:
编程语言 时间:
2017-03-07 16:47:13
阅读次数:
265
目录 1 问题描述 2 解决方案 2.1 蛮力法 2.2 分治法(归并排序) 1 问题描述 给定一个随机数数组,求取这个数组中的逆序对总个数。要求时间效率尽可能高。 那么,何为逆序对? 引用自百度百科: 设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同。 如果存在正整数 i, ...
分类:
编程语言 时间:
2017-03-06 20:47:14
阅读次数:
340
就是求个动态区间逆序对??是不是和GTY文艺妹子差不多??哦,不是,,, 这个题的话,可以发现的是,每次交换只会对区间内的数产生影响,所以就是求一下区间内比这个L(区间左端点)大的,小的,(减小,加大)比R(区间右端点)大的,小的,(减大,加小),然后把连个数换一下就就行了。。我记得是这样。。而且这 ...
分类:
其他好文 时间:
2017-02-28 22:35:56
阅读次数:
151
题目描述 给定一个1~n的序列,然后m次删除元素,每次删除之前询问逆序对的个数。 代码 #include <cstdio> #include <cctype> #include <cmath> #include <algorithm> using namespace std; typedef lon ...
分类:
编程语言 时间:
2017-02-23 13:54:07
阅读次数:
206
cdq分治经典例题,然而智商掉线傻逼错误坑了两天 原题: 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 N<=100000 M<=50000 此题修改和询问绑定 ...
分类:
其他好文 时间:
2017-02-20 11:14:36
阅读次数:
219
cdq分治 我们把每个数都视作插入和询问,那么每个询问就是当前的贡献。。。 事实上这道题可以看做一个三维偏序:(t,v,pos) 插入时间,值,插入位置 两个数当且仅当形成逆序对时是x,y,x的插入时间比y早,x的值比y小,x在y的后面,x的值比y大,x在y的前面。 那么就可以cdq分治了 #inc ...
分类:
其他好文 时间:
2017-02-10 17:21:05
阅读次数:
180
[BZOJ3295][Cqoi2011]动态逆序对 试题描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 输入 输入第一行包含两个整数n和m,即初始元素的个数 ...
分类:
其他好文 时间:
2017-02-03 22:46:36
阅读次数:
190