随笔分类 -  数据结构~分治

 
CodeForces - 990G (点分治+链表计数)
摘要:题目:https://vjudge.net/contest/307753#problem/J 题意:一棵树,每个点都有个权值,现在问你,树上gcd每个不同的数有多少个 思路:点分治,首先范围只有 1e5,然后我们记录一条路径的gcd,我们在重心确定后找路径,每到gcd一个数,这条路径必然是父亲节点的 阅读全文
posted @ 2019-08-17 22:26 Lis~ 阅读(313) 评论(0) 推荐(0)
SPOJ - FTOUR2 (点分治+树状数组)
摘要:题目:https://vjudge.net/contest/307753#problem/I 题意:有一颗树,上面有白色黑色点,每个点上有一个权值,权值可以为负,现在我要求一条路径,权值和最大,这条路径满足 白色可以随便经过多少个,黑色点的个数必须<=m 思路:首先又是树上路径题,必然点分治,其实这 阅读全文
posted @ 2019-08-17 14:10 Lis~ 阅读(254) 评论(0) 推荐(0)
BZOJ 2152 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/G 题意: 一棵树让你求总的路径条数和 %3的路径条数 思路:点分治水题 阅读全文
posted @ 2019-08-16 19:21 Lis~ 阅读(232) 评论(0) 推荐(0)
HDU 4812 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/E 题意:给你一颗树,树上每个点都有个权值,现在问你是否存在 一条路径的乘积 mod 1e6+3 等于 k的路径,如果有找到字典序最小的方案 思路,树上路径~点分治 我们能知道每条路径的值,现在我们可以转化的问 阅读全文
posted @ 2019-08-15 17:29 Lis~ 阅读(395) 评论(0) 推荐(1)
POJ - 1655 (点分治-树的重心)
摘要:题目:https://vjudge.net/contest/307753#problem/D 题意:给你一棵树,让你求出一个点,让他的最大子树的节点数尽量小 思路:最大子树节点数尽量小,一看就是树的重心, 然后随便套个原来的点分治模板即可 阅读全文
posted @ 2019-08-13 21:52 Lis~ 阅读(250) 评论(0) 推荐(0)
POJ 2114 (点分治)
摘要:题目:https://vjudge.net/contest/307753#problem/B 题意:求树中路径和=k的点对是否存在 思路:点分治,这个题其实和上一题洛谷一样,只是这个数据强,我们不能直接预处理所有可能的路径长度,预处理所有路径长度复杂度 O(n^2) ,我们改为直接每次查询都分治一遍 阅读全文
posted @ 2019-08-13 21:39 Lis~ 阅读(238) 评论(0) 推荐(0)
AcWing 252. 树 (点分治)打卡
摘要:题目:https://www.acwing.com/problem/content/254/ 题意:求一棵树上,路径<=k的有多少条 思路:点分治,我们用两个指针算solve函数,首先对算出来的路径每个排个序,我们就保证有单调性,然后l从前往后,r从后往前,如果l+r<=m 那么(l,r-1) (l 阅读全文
posted @ 2019-08-13 18:50 Lis~ 阅读(204) 评论(0) 推荐(0)
洛谷 P3806 (点分治)
摘要:题目:https://www.luogu.org/problem/P3806 题意:一棵树,下面有q个询问,问是否有距离为k的点对 思路:牵扯到树上路径的题都是一般都是点分治,我们可以算出所有的路径长度然后保留下来,点分治无非就是几步一直递归,点分治就是在树上递归 1,找树的重心 2,算出所有点到重 阅读全文
posted @ 2019-08-13 18:18 Lis~ 阅读(299) 评论(0) 推荐(0)