这道题也就是一个动态逆序对嘛,本质上就是个查询区间排名 刚刚打了一道 [CQOI 2011]动态逆序对 用的线段树套平衡树,代码如下: 但是常数过于巨大,导致COGS上卡半天常都没过去最后一个点,只是在内网A掉了(赞一发内网评测机) 对于这道题,选择了原来没打过的树状数组套平衡树(其实本质上都是一样 ...
分类:
编程语言 时间:
2017-12-05 12:00:47
阅读次数:
158
P2804-神秘数字 题目描述(简化版) 有 n 个数,求这 n 个数中,有多少个连续的数的平均数大于某个给定的数 M? 注意:这个数可能会很大,请输出这个数对92084931取模的结果。 输入输出格式 输入格式: 共两行。 第一行为两个数 n 和 M。 第二行为 n 个数。 输出格式: 一行一个数 ...
分类:
编程语言 时间:
2017-12-03 19:00:43
阅读次数:
188
bit+容斥原理 我不会cdq分治只能用这个做法 考虑什么情况下不满足,至少有一个顺序不对就不行了,那么不满足的总有两对属性形成逆序对,那么我们用总方案数*2=n*(n-1)减去不符合的*2再/2就是答案 似乎进rank前200了 #include<bits/stdc++.h> using name ...
分类:
其他好文 时间:
2017-12-03 14:49:14
阅读次数:
166
"BZOJ 3289" Mato的文件管理 题意 求区间逆序对。 题解 在莫队的基础上使用树状数组求逆序对。 在当前区间左侧加入一个数时,res += 原区间比它小的数的个数; 在当前区间右侧加入一个数时,res += 原区间比它大的数的个数; 在当前区间左侧删除一个数时,res = 原区间比它小的 ...
分类:
编程语言 时间:
2017-11-30 15:09:31
阅读次数:
131
Description 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一 ...
分类:
其他好文 时间:
2017-11-29 23:38:07
阅读次数:
183
l表示最左边的数的下标,r-1表示最右边的数的下标。 ...
分类:
编程语言 时间:
2017-11-27 00:02:13
阅读次数:
258
"BZOJ 3295" 动态逆序对 这道题和三维偏序很类似。某个元素加入后产生的贡献 = time更小、pos更小、val更大的元素个数 + time更小、pos更大、val更小的元素个数。 分别用类似CDQ分治求三维偏序的方法求即可。 ...
分类:
其他好文 时间:
2017-11-25 13:04:59
阅读次数:
186
P1908 逆序对 P1908 逆序对 P1908 逆序对 题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就 ...
分类:
其他好文 时间:
2017-11-25 11:17:18
阅读次数:
218
题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size ...
分类:
编程语言 时间:
2017-11-10 16:53:42
阅读次数:
223
//归并排序求逆序对 #include #define ll long long using namespace std; int n,b[100005]; ll ans; int a[100005]; void merge_sort(int l,int r) { if(l==r)return; i... ...
分类:
其他好文 时间:
2017-11-09 11:45:34
阅读次数:
206