1. 莫队算法将询问按照左端点分为sqrt级别块进行排序,然后顺序处理.例题 小Z的袜子2. 树状数组一种很有技巧性的东西对于一些离线的这类问题,我们可能要统计在一段区间内的种类数,那么我们可以用差分的办法维护前缀和.具体地说,我们将询问按左端点排序,那么我们就可以从左到右处理了.看代码比较清楚,好...
分类:
其他好文 时间:
2015-04-30 12:25:03
阅读次数:
182
这是一道很经典的题目了,解法当然是莫队算法.推导过程我有空再写,那么先写一写结论.对于某个区间,小Z要求的概率为这个区间内所有颜色个数的平方和减去区间长度的差除以区间长度的平方减去区间长度的差记这些颜色的数目为$c_1,c_2,c_3,\dots,c_n$,那么答案就是\[\frac{\left(\...
分类:
其他好文 时间:
2015-04-27 21:24:43
阅读次数:
121
这题说的是个了n个数字 然后 在L 和R 区间内的数字的排列有多少种方案,这里我们通过 将 这n长度的字符串 分成sqrt(n) 块然后 一个属性 他们的l 属于 那个快 以这个为第一关键字 ,然后 在按照R 为 第二个关键字,然后sort 每个查询区间我们知道 当L他们属于一块内的时候 , R 是...
分类:
编程语言 时间:
2015-04-25 21:00:27
阅读次数:
172
转自http://www.cnblogs.com/kuangbin/archive/2013/08/16/3263483.html2038: [2009国家集训队]小Z的袜子(hose)Time Limit:20 SecMemory Limit:259 MBSubmit:966Solved:472[...
分类:
编程语言 时间:
2015-04-24 22:33:58
阅读次数:
288
莫队算法就是优化的暴力算法。莫队算法是要把询问先按左端点属于的块排序,再按右端点排序。只是预先知道了所有的询问。可以合理的组织计算每个询问的顺序以此来降低复杂度。 D. Powerful array典型的莫队算法题 1 #include 2 #i...
分类:
编程语言 时间:
2015-04-03 22:11:39
阅读次数:
198
莫队大法好,分块一同乱搞。
远哥出的题,当时没做出来,今天才学会莫队。
如果[l,r] -> [l,r+1] 可以在o(1)时间内求出,就可以sqrt(n)分块后,对询问排序更新。
因为我写的太丑了,必须用输入外挂才过了。
复杂度msqrt(n)
代码:
#include
#include
#include
#include
#include
#include
using namesp...
分类:
编程语言 时间:
2015-04-01 21:59:06
阅读次数:
217
【算法一】暴力。可以通过第0、1号测试点。预计得分:20分。【算法二】经典问题:区间众数,数据范围也不是很大,因此我们可以:①分块,离散化,预处理出:前i块中x出现的次数(差分);第i块到第j块中的众数是谁,出现了多少次。询问的时候,对于整块的部分直接获得答案;对于零散的部分,暴力统计每个数出现 的...
分类:
编程语言 时间:
2015-03-29 19:33:34
阅读次数:
202
学习了一下很基本的分块和莫队算法,因为不太会写曼哈顿距离最小生成树,所以就写了个分块版本的(分四种情况,大概这个意思吧)。。。cogs1775||bzoj2038 小Z的袜子题目大意:静态区间查询不同种元素的个数。思路:用莫队扫一下,然后分子分母同时乘2,就会发现,分母是组合数化简后的(r-l)*(...
分类:
其他好文 时间:
2015-03-29 15:00:23
阅读次数:
115
orz PoPoQQQ。本来蒟蒻以为这种离散化以后就对应不起来的题不能权值分块搞的说。……结果,实际上>n的权值不会对答案作出贡献。#include#include#includeusing namespace std;#define N 200002#define BN 452int n,m,nu...
分类:
编程语言 时间:
2015-03-10 19:02:19
阅读次数:
246