莫队算法,离线回答询问,按一定大小(sqrt(n*log(n))左右)将答案分块,按 ①左端点所在块②右端点 双关键字排序。然后暴力转移。转移的时候用树状数组。O(n*sqrt(n)*log(n))。注意:①在一列数的后面添加一个数,逆序对数会增加 数列中比它大的数的个数。②在一列数的后面删除一个数...
分类:
编程语言 时间:
2014-10-29 12:28:39
阅读次数:
273
Color the ball
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9769 Accepted Submission(s): 5028
Problem Description
N个气球排成一排,...
分类:
编程语言 时间:
2014-10-29 02:00:15
阅读次数:
212
题意:牛的听力为v,两头牛i,j之间交流,需要max(v[i],v[j])*dist(i,j)的音量。求所有两两头牛交谈时音量总和∑(max(v[i],v[j])*abs(x[j]-x[i])) ,x[i]表示i的坐标解法:将牛按听力从小到大排序,这样就可以使每次算一头牛与别的牛的值时听力永远取自己...
分类:
编程语言 时间:
2014-10-28 23:53:20
阅读次数:
288
UVA1406 - A Sequence of Numbers(树状数组)
题目链接
题目大意:
给定N个数字,给两种操作:C x: 把这N个数字都加上x。Q x:查询这N个数里面有多少个数字和2^x取且大于0.最后把每个查询的结果求和作为答案。
解题思路:
查询与2^x取且为1,那么就意味这那个符合要求的数的第x位要是1。
但是这里还有全部加上x的操作,可以用一个变量来记...
分类:
编程语言 时间:
2014-10-28 20:06:33
阅读次数:
228
UVA 11423 - Cache Simulator (树状数组)
题目链接
题目大意:模仿磁盘缓冲区的工作机制,给你n个不同size的(递增的)磁盘缓冲区,给你要访问的数据,根据LRU原则,问每个size的磁盘分别有多少次miss(数据没有在缓存中就是miss),
解题思路:因为数据最多有10^7,所以数据访问的序列最长也就是10^7。树状数组的每个位置代表的是访问序列的位置...
分类:
编程语言 时间:
2014-10-28 00:51:00
阅读次数:
217
题意: 给一个数的序列,询问一些区间,问区间内与区间其他所有的数都互质的数有多少个。解法: 直接搞有点难, 所谓正难则反,我们求区间内与其他随便某个数不互质的数有多少个,然后区间长度减去它就是答案了。那么怎么求区间内与区间其他某个数不互质的数的个数(记为cnt)呢? 我们用L[i],R[i]表示在整...
分类:
编程语言 时间:
2014-10-27 21:00:01
阅读次数:
278
分析:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3038这题看起来没办法做……但是注意到1e12只要开方8次就能到1……所以直接暴力就行了……
分类:
编程语言 时间:
2014-10-26 22:37:38
阅读次数:
186
题目链接:poj 2481 Cows
题目大意:给定若干的区间,问说每个区间被多少个区间完全包含。
解题思路:将区间按照区间左端点小的,右端点大的排序,然后扫描一遍,每次查询[r,maxn],然后在r处添加1。注意
区间相同的情况,需要添加,但是不需要查询,直接和前一个的是相同的。
#include
#include
#include
using namespace s...
分类:
编程语言 时间:
2014-10-24 00:20:42
阅读次数:
209
题目链接:Codeforces 19D Points
题目大意:N中操作,每次添加一个点,或者删除一个点,以及找到给定x,y坐标最近的一个坐标,并且保证xi,yi在x,y的右上角。
解题思路:这题的解法还是很机智的。
y坐标离散化,然后树状数组的每个单位用一个set代替,set记录的是点集。
剩下的操作就像树状数组一样,每次添加就等于是+w的操作,移除就等于是-w,只是w是...
分类:
编程语言 时间:
2014-10-23 19:20:39
阅读次数:
160
题目大意:给定一个序列,每次选择一个位置,把这个位置之后所有小于等于这个数的数抽出来,排序,再插回去,求每次操作后的逆序对数
首先我们每一次操作 对于这个位置前面的数 由于排序的数与前面的数位置关系不变 所以这些数的逆序对不会变化
对于这个位置后面比这个数大的数 由于改变位置的数都比这些数小 所以这些数的逆序对不会变化
说到底就是排序的数的逆序对数改变了 以这些数开始的逆序对没有了
于是就...
分类:
编程语言 时间:
2014-10-23 10:45:25
阅读次数:
209