点分治
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[POJ1741]Tree(点分治)
The best way to predict future is to create it.原创 2016-09-20 14:13:41 · 700 阅读 · 0 评论 -
[POJ2114]Boatherds(点分治+二分)
题目描述传送门题解裸的点分治 暴力就行代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define N 10005int n,x,y,m,sum,root; int q[N],ans[N]; int tot,point[N原创 2017-02-16 07:00:53 · 559 阅读 · 0 评论 -
[BZOJ3697]采药人的路径(点分治)
题目描述传送门题解点分治裸题(笑 黄学长的题解看不懂啊。。。 自己yy了一种做法 果然蠢到爆炸将边权看成1和-1,那么合法的路径即为路径权值和为0,并且从中间分开两段和都是0 如果从路径的一个起点开始做前缀和的话,要求终点的权为0且中间点的权出现过0 进行点分治,每一次对所有的点做以当前根为起点的前缀和,然后每一个点都得到了一个点权 要将这些点两两组合使得整条路径合法 首先显然如果两个点原创 2017-02-15 23:29:26 · 750 阅读 · 0 评论 -
[BZOJ3648]寝室管理(点分治+bit)
题目描述传送门题解Sunshine学长去年的互测题orz 然而他给的solution除了点分和bit什么都没说啊。。。 硬着头皮想吧,反正我知道要用bit了。。如果是树的话点分治+二分或者bit就能搞定 如果是环套树的话怎么办捏 首先考虑不经过环的答案,直接在外向树上点分就行了 然后考虑经过环的答案 假设当前外向树上深度为h的有x个点,那么上一棵外向树的贡献就是x*深度>=k-1-h的点原创 2017-02-15 23:41:16 · 521 阅读 · 0 评论 -
[BZOJ3784]树上的路径(点分治+dfs序+st表+堆)
题目描述传送门题解这道题并不是像普通的点分一样现在根上加然后在儿子上把不合法的减去,而是直接只能查询合法的,这种思维定式要改一改了。。。 刚开始一直在往这方面考虑。。直到看到有人说这道题和超级钢琴那道题很像才受到启发yy出这种不靠谱的的做法。。。首先从当前根出发到每一个点都求出了一条路径,那么怎么组合是合法的呢?就是路径的两个端点不能在根的同一个儿子里 是否在同一个儿子里可以用dfs序来区分,那原创 2017-02-15 23:50:42 · 715 阅读 · 0 评论 -
[BZOJ3365][Usaco2004 Feb]Distance Statistics 路程统计(点分治)
题目描述传送门题解裸的点分治 每一次排序之后扫一遍统计就行了代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define N 40005int n,m,k,x,y,z,sum,root,ans; int tot,poin原创 2017-02-15 23:17:04 · 569 阅读 · 0 评论 -
[BZOJ1316]树上的询问(点分治+二分)
题目描述传送门题解点分治裸题 每一次求出deep之后排序然后两次二分 因为点分常数很大做一次求m个比做m次快得多代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define N 10005int n,x,y,z,m,s原创 2017-02-19 23:10:17 · 1061 阅读 · 0 评论 -
[BZOJ2599][IOI2011]Race(点分治)
Take it easy.原创 2016-09-20 14:34:38 · 945 阅读 · 3 评论 -
[BZOJ2152]聪聪可可(点分治)
The secret oppotunities are hidden inside every failure.原创 2016-09-20 14:21:20 · 1311 阅读 · 0 评论 -
[Codeforces716E]Digit Tree(点分治+扩欧+二分)
题目描述传送门 题意:一棵树,每条边上有一个数字(1~9),给出一个与10互质的数m,问整棵树上有多少条链满足从起点走到终点树链上形成的十进制数是m的倍数。题解本来是看dsu on the tree找到了这道题,但是发现用dsu on the tree写好麻烦啊=w= 不过用点分就没有那么恶心了 对于每一次分治到的子树,需要一些节点的信息:从当前点出发向上走到根形成的十进制数在模m意义下,记为原创 2017-03-08 17:10:47 · 614 阅读 · 0 评论