要使用莫队算法前提 ,已知[l,r]的答案,要能在logn或者O(1)的时间得到[l+1,r],[l-1,r],[l,r-1],[l,r+1],适用于一类不修改的查询优美的替代品——分块将n个数分成sqrt(n)块按区间排序,以左端点所在块内为第一关键字,右端点为第二关键字,进行排序也就是以( po...
分类:
编程语言 时间:
2015-12-10 12:56:15
阅读次数:
234
Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一...
分类:
其他好文 时间:
2015-12-03 20:52:09
阅读次数:
177
2038: [2009国家集训队]小Z的袜子(hose)Time Limit:20 SecMemory Limit:259 MBSubmit:4471Solved:2049[Submit][Status][Discuss]Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜...
分类:
编程语言 时间:
2015-10-02 14:58:19
阅读次数:
208
莫队..先按sqrt(n)分块, 然后按块的顺序对询问排序, 同块就按右端点排序. 然后就按排序后的顺序暴力求解即可. 时间复杂度O(n1.5)------------------------------------------------------------------------------...
分类:
其他好文 时间:
2015-09-02 20:42:16
阅读次数:
199
题意:Q个询问,每个询问给定区间[L,R],求从里面任选两个数相同的概率。思路:莫队算法。用一个cnt数组记录当前区间每种数的个数,区间变化为1时O(1)的维护cnt数组,并可以O(1)的得到当前区间中与当前数相同的数的个数。 1 2 3 4 5 6 7 8 9 10 11 12 ...
分类:
编程语言 时间:
2015-08-15 22:45:46
阅读次数:
213
题意:
给出一个长度为n的序列,每次询问一个区间[l,r];
查询在这个区间中取出两个数恰好相等的概率;
每个数大小在[0,n]内,概率用既约分数表示;
题解:
考虑一个区间的答案,显然是合法方案数/取数的所有可能;
也就是 ∑C[同种数字个数][2]/C[r-l+1][2];
但是这个东西对一次询问的处理复杂度是O(r-l+1)的;
那么考虑上莫队算法,处理这样的区间问题...
分类:
其他好文 时间:
2015-08-05 10:39:23
阅读次数:
124
Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一...
分类:
其他好文 时间:
2015-08-02 16:26:02
阅读次数:
81
题目地址:BZOJ 2038
裸的莫队算法。
代码如下:#include
#include
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2015-07-24 14:28:28
阅读次数:
124
题意:取一段区间,求区间中任取两个数相同的概率;思路:所求概率P=(A*(A-1)/2+B*(B-1)/2+......)/(R-L+1)*(R-L)/2化简得P=(A*A+B*B+......+Z*Z-(R-L+1))/(R-L+1)*(R-L); 将询问区间左端点放在同一分块中处理,每次处...
分类:
编程语言 时间:
2015-07-16 15:46:44
阅读次数:
121
bzoj2038-[2009国家集训队]-小z的袜子(hose)
F.A.Qs
Home
Discuss
ProblemSet
Status
Ranklist
Contest
ModifyUser Manacher
Logout
捐赠本站
Notice:省选季快乐&另求历年World Final数据,谢谢&OJ试题突...
分类:
编程语言 时间:
2015-06-03 09:59:10
阅读次数:
160