基本等同这个,只是询问的东西不大一样而已。http://www.cnblogs.com/autsky-jadek/p/4159897.html#include#include#includeusing namespace std;int Num,CH[12],f,c;inline void R(in...
分类:
编程语言 时间:
2014-12-15 19:01:03
阅读次数:
226
对于这类区间查询的问题,如果可以用O(1)的复杂度推到一个曼哈顿距离为1的另外区间的话,就可以直接用莫队算法搞。从网上搜到的有两种搞法。第一种是先建立曼哈顿距离最小生成树,然后直接dfs遍历整棵树来求解的。还有一种是先分块,然后把查询按照块的编号为第一关键字,右边界为第二关键字排序,排序直接直接暴力...
分类:
编程语言 时间:
2014-12-14 14:33:46
阅读次数:
194
题意:在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大首先,我们将树处理出dfs序,将子树询问转化成区间询问。然后我们发现,对于单一节点来说,“使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大”可以贪心地搞...
分类:
编程语言 时间:
2014-12-12 16:36:36
阅读次数:
249
先用莫队算法保证在询问之间转移的复杂度,每次转移都需要进行O(sqrt(m))次插入和删除,权值分块的插入/删除是O(1)的。然后询问的时候用权值分块查询区间k小值,每次是O(sqrt(n))的。所以总共的复杂度是O(m*(sqrt(n)+sqrt(m)))的。常数极小。别的按权值维护的数据结构无法...
分类:
编程语言 时间:
2014-12-10 14:03:21
阅读次数:
459
http://www.lydsy.com/JudgeOnline/problem.php?id=3781还能不能再裸点。。#include #include #include #include #include #include #include #include #include using na...
分类:
编程语言 时间:
2014-12-06 14:02:40
阅读次数:
200
http://www.lydsy.com/JudgeOnline/problem.php?id=3289很裸的莫队。。。离线了区间然后分块排序后,询问时搞搞就行了。本题中,如果知道$[l, r]$后,考虑如何转移$[l, r+1]$,发现就是$a[r+1]$的颜色在这个区间的排名,然后$r-l+1-...
分类:
编程语言 时间:
2014-12-06 13:58:39
阅读次数:
288
http://www.lydsy.com/JudgeOnline/problem.php?id=2038学了下莫队,挺神的orz首先如果推公式的话很简单吧。对于查询$[l,r]$$$ans=\frac{\sum \binom{x_i}{2}}{\binom{r-l+1}{2}}$$//晚修。。。回来...
分类:
编程语言 时间:
2014-12-05 19:15:01
阅读次数:
265
莫队经典。 开个数组维护a[i]出现的次数。 1 #include 2 #include 3 #include 4 using namespace std; 5 int Num,CH[12],f,c; 6 inline void R(int &x){ 7 c=0;f=1; 8 for...
分类:
编程语言 时间:
2014-11-28 17:53:55
阅读次数:
251
树上的莫队算法。。。话说糖果公园也是的说?、、、蒟蒻不会233先搞出dfs序,然后对dfs序直接莫队就好了。。。但是写的我蛋疼啊。。。3h就一道题还让不让人活? 1 /************************************************************** 2.....
分类:
移动开发 时间:
2014-11-27 20:21:29
阅读次数:
241
又是莫队= =话说这题和"小z的袜子"有区别嘛= = 1 /************************************************************** 2 Problem: 3781 3 User: rausen 4 Language: C+...
分类:
其他好文 时间:
2014-11-27 20:20:22
阅读次数:
171