分块
MashiroSky
这个作者很懒,什么都没留下…
展开
-
【bzoj2120】 数颜色
http://www.lydsy.com/JudgeOnline/problem.php?id=2120 (题目链接)题意:给出一个n个数,m个询问,每次询问一个区间或修改一个数,求区间内不同的数有多少个。solution 分块。每次修改就暴力nlogn重新构块。 对于分块的话,代码很好理解。代码:// bzoj2120 #include<algorithm> #include<iost原创 2016-07-29 16:10:39 · 370 阅读 · 0 评论 -
【bzoj2809】 Apio2012—dispatching
http://www.lydsy.com/JudgeOnline/problem.php?id=2809 (题目链接)题意:给出一棵树,每个节点有两个权值c,L,分别代表话费和领导力,在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且L[i]*集合中元素个数和最大。solution 听说这道题正解是可并堆,可是并不会做,我们考虑换一种方法。正好原创 2016-07-31 15:05:17 · 411 阅读 · 0 评论 -
【bzoj4241】 历史研究
http://www.lydsy.com/JudgeOnline/problem.php?id=4241 (题目链接)看到题目就联想到了【bzoj2809】 Apio2012—dispatching。想了想权值分块+莫队,发现不好维护块内最值,又看了看80s的时间,于是怒水一发线段树+莫队,结果先WA后TLE,不断TLE,无论怎么改常数都不行,难道nlogn*sqrt(n)就是过不了吗!!不爽,蒯个原创 2016-07-31 21:22:37 · 422 阅读 · 0 评论 -
【poj2761】 Feed the dogs
http://poj.org/problem?id=2761 (题目链接)题意:求区间第K大。Solution 和poj2104一模一样。主席树代码:// poj2761 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> #def原创 2016-08-01 14:31:15 · 310 阅读 · 0 评论 -
【bzoj1086】 scoi2005—王室联邦
http://www.lydsy.com/JudgeOnline/problem.php?id=1086 (题目链接)本来是来学树上分块的,没想到正解是贪心+dfs。。。题意:求将树分为几个联通块,每个联通块大小大于B小于3B,是否可行。Solution1 题都没看就翻了题解。。发现时贪心+dfs。 一遍dfs即可。注意到以x为根节点时,其儿子s,则子树s中与s相连的节点的连通块,如果要原创 2016-08-01 17:20:05 · 525 阅读 · 0 评论