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

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

摘要:给定一棵$n$个点的树,每个点上有一个字符。给一个长$m$的串$S$,求有多少条路径循环匹配了给定串。循环匹配的串指形如$SS...SS$的串($S$出现整数次)。 $n,m\leq10^5,\ \sum n,m\leq10^6$。 阅读全文
posted @ 2019-04-13 11:15 SovietPower 阅读(181) 评论(0) 推荐(0)
摘要:给定一棵$n$个点的树。在每个点$i$你可以补充$g_i$的油量,经过一条边需要花费边长的油量。你可以选择从任意一个点出发,任意在树上走直到油量耗尽或不能走(不能重复经过同一个点)。求最多能经过多少个点。 $n\leq10^5$。 阅读全文
posted @ 2019-03-22 09:05 SovietPower 阅读(310) 评论(0) 推荐(0)
摘要:给定一棵树和$k$,求一条路径,使得$\left|\frac{路径长度}{边数}-k\right|$最小。输出最小值。 $n\leq 5\times 10^5,\ k\leq 10^{13}$。 阅读全文
posted @ 2019-01-26 09:49 SovietPower 阅读(148) 评论(0) 推荐(0)
摘要:给定一棵树,任选一个连通块然后做背包,且每个点上的物品至少取一个。求花费为$m$时最大价值。 阅读全文
posted @ 2019-01-21 22:42 SovietPower 阅读(566) 评论(0) 推荐(0)
摘要:给定一棵$n$个点的带权树,求树上$\frac{n\times(n-1)}{2}$条路径中,长度最大的$m$条路径的长度。 $n\leq50000,\ m\leq\min(3\times10^5,\frac{n\times(n-1)}{2})$。 阅读全文
posted @ 2019-01-18 21:09 SovietPower 阅读(629) 评论(0) 推荐(0)
摘要:求在一棵树上加一条边后,有多少条至少有$k$个点的路径。 $n\leq10^5$。 阅读全文
posted @ 2019-01-18 16:13 SovietPower 阅读(557) 评论(0) 推荐(0)
摘要:没别的意思就是我懒 阅读全文
posted @ 2018-12-06 10:23 SovietPower 阅读(1681) 评论(0) 推荐(0)
摘要:给定一棵树,每个点有权值,在$[0,m-1]$之间。求异或和为$0,1,...,m-1$的非空连通块各有多少个。 $n\leq 1000,m\leq 2^{10}$。 阅读全文
posted @ 2018-11-27 16:18 SovietPower 阅读(188) 评论(0) 推荐(0)
摘要:给定一棵树,边有价值$v_i$,长度为$1$。求长度$len$在$[l,r]$间的路径,使得其$\frac{\sum val}{len}$最大。 $n\leq 10^5,\ v_i\leq 10^6$。 阅读全文
posted @ 2018-11-26 20:00 SovietPower 阅读(1921) 评论(0) 推荐(0)
摘要:[TOC] 2018.8.10 正睿暑期集训营 Day7 时间:2.5h(实际) (不行太闲了) 期望得分:... 实际得分:... "比赛链接" 总结 倍增! 之前还记得怎么又忘了。。 如果可以任意互换位置 具体什么样我们是不关心的。 A 花园(思路) "题目链接" 只保留两条边,会剩下一个类似基 阅读全文
posted @ 2018-08-10 22:05 SovietPower 阅读(281) 评论(0) 推荐(0)
摘要:给定一棵树,$n$个点每个点有点权。每次询问一条路径,任路径上若干点使异或和最大。 $n\leq2\times10^4,q\leq2\times10^5$。 阅读全文
posted @ 2018-07-11 21:54 SovietPower 阅读(170) 评论(0) 推荐(0)
摘要:题目链接 BZOJ 洛谷 \(Description\) 树上点有点权(初始为0),边有边权,每次修改一个点的点权,并询问点$x$使$\sum_idis(x,i)*A_i$最小。$dis$只计算边权。 即带修改查询树上带权重心。 \(n,q\leq 10^5\)。 \(Solution\) 依旧点分 阅读全文
posted @ 2018-03-23 15:35 SovietPower 阅读(261) 评论(0) 推荐(1)
摘要:题目链接 洛谷 SPOJ BZOJ1095(简化版) \(Description\) 给定一棵边带权的树,初始时所有点为白色。两种操作:1. 反转某点的颜色; 2. 询问树中最远的两个白色节点的距离(只有一个则为0)。 \(n\leq 10^5,\ m\leq 2\times10^5\)。 \(So 阅读全文
posted @ 2018-03-21 18:45 SovietPower 阅读(313) 评论(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 阅读(180) 评论(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 阅读(353) 评论(0) 推荐(0)
摘要:"BZOJ1468" "POJ1741" 题意: 计算树上距离v路径权值)。 这样x的答案就计算完了,将这一过程记作Solve(x)。 考虑如何计算所有点。DFS的效率是和树深有关的。计算x v时,我们选取v子树上的重心作为下次Solve()的参数。 选取重心每次都会使树的节点个数减半,因此递归深度 阅读全文
posted @ 2018-03-17 11:01 SovietPower 阅读(171) 评论(0) 推荐(0)