博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  分治——点分治

摘要:给定一棵n个点的树,每个点上有一个字符。给一个长m的串S,求有多少条路径循环匹配了给定串。循环匹配的串指形如SS...SS的串(S出现整数次)。 n,m105, n,m106阅读全文
posted @ 2019-04-13 11:15 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要:给定一棵n个点的树。在每个点i你可以补充gi的油量,经过一条边需要花费边长的油量。你可以选择从任意一个点出发,任意在树上走直到油量耗尽或不能走(不能重复经过同一个点)。求最多能经过多少个点。 n105阅读全文
posted @ 2019-03-22 09:05 SovietPower 阅读(285) 评论(0) 推荐(0) 编辑
摘要:给定一棵树和k,求一条路径,使得|k|最小。输出最小值。 n5×105, k1013阅读全文
posted @ 2019-01-26 09:49 SovietPower 阅读(139) 评论(0) 推荐(0) 编辑
摘要:给定一棵树,任选一个连通块然后做背包,且每个点上的物品至少取一个。求花费为m时最大价值。 阅读全文
posted @ 2019-01-21 22:42 SovietPower 阅读(548) 评论(0) 推荐(0) 编辑
摘要:给定一棵n个点的带权树,求树上n×(n1)2条路径中,长度最大的m条路径的长度。 n50000, mmin(3×105,n×(n1)2)阅读全文
posted @ 2019-01-18 21:09 SovietPower 阅读(602) 评论(0) 推荐(0) 编辑
摘要:求在一棵树上加一条边后,有多少条至少有k个点的路径。 n105阅读全文
posted @ 2019-01-18 16:13 SovietPower 阅读(545) 评论(0) 推荐(0) 编辑
摘要:没别的意思就是我懒 阅读全文
posted @ 2018-12-06 10:23 SovietPower 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:给定一棵树,每个点有权值,在[0,m1]之间。求异或和为0,1,...,m1的非空连通块各有多少个。 n1000,m210阅读全文
posted @ 2018-11-27 16:18 SovietPower 阅读(171) 评论(0) 推荐(0) 编辑
摘要:给定一棵树,边有价值vi,长度为1。求长度len[l,r]间的路径,使得其vallen最大。 n105, vi106阅读全文
posted @ 2018-11-26 20:00 SovietPower 阅读(1914) 评论(0) 推荐(0) 编辑
摘要:[TOC] 2018.8.10 正睿暑期集训营 Day7 时间:2.5h(实际) (不行太闲了) 期望得分:... 实际得分:... "比赛链接" 总结 倍增! 之前还记得怎么又忘了。。 如果可以任意互换位置 具体什么样我们是不关心的。 A 花园(思路) "题目链接" 只保留两条边,会剩下一个类似基 阅读全文
posted @ 2018-08-10 22:05 SovietPower 阅读(267) 评论(0) 推荐(0) 编辑
摘要:给定一棵树,n个点每个点有点权。每次询问一条路径,任路径上若干点使异或和最大。 n2×104,q2×105阅读全文
posted @ 2018-07-11 21:54 SovietPower 阅读(162) 评论(0) 推荐(0) 编辑
摘要:题目链接 BZOJ 洛谷 Description 树上点有点权(初始为0),边有边权,每次修改一个点的点权,并询问点x使idis(x,i)Ai最小。dis只计算边权。 即带修改查询树上带权重心。 n,q105Solution 依旧点分 阅读全文
posted @ 2018-03-23 15:35 SovietPower 阅读(248) 评论(0) 推荐(1) 编辑
摘要:题目链接 洛谷 SPOJ BZOJ1095(简化版) Description 给定一棵边带权的树,初始时所有点为白色。两种操作:1. 反转某点的颜色; 2. 询问树中最远的两个白色节点的距离(只有一个则为0)。 n105, m2×105。 \(So 阅读全文
posted @ 2018-03-21 18:45 SovietPower 阅读(290) 评论(0) 推荐(0) 编辑
摘要:"题目链接 BZOJ" "洛谷" cpp //25884kb 11000ms //用1e6的数组记录当前路径长度的最少边数 include include include define gc() getchar() const int N=2e5+5,M=N=K) return; dis[++dis 阅读全文
posted @ 2018-03-21 12:49 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题意: 给定一棵有n个点的树,多次询问树上距离为k的点对是否存在。k include include define gc() getchar() // define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EO 阅读全文
posted @ 2018-03-17 14:21 SovietPower 阅读(337) 评论(0) 推荐(0) 编辑
摘要:"BZOJ1468" "POJ1741" 题意: 计算树上距离v路径权值)。 这样x的答案就计算完了,将这一过程记作Solve(x)。 考虑如何计算所有点。DFS的效率是和树深有关的。计算x v时,我们选取v子树上的重心作为下次Solve()的参数。 选取重心每次都会使树的节点个数减半,因此递归深度 阅读全文
posted @ 2018-03-17 11:01 SovietPower 阅读(154) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示