合集-tree
摘要:居然自己想出了 AGC E。 首先考虑删边再加红边的本质是什么。容易发现,如果一条目标树上的边当前还没有被加上,且这条边所连两点在原树上的路径被切断,则此时一定无解。因为不管怎么加删边,这都是一棵树,而此时两点路径上一定有红边。 所以,我们就可以得到此时可以新增一条边 的条件:路
阅读全文
摘要:虽然做法大致相同,但是本篇题解将会讲述如何想出正解,分享我的思路。望通过。 首先看到题目,容易想到一个简单很多的情况:在一条链上,且终点确定。此时就可以把终点两边的点分开,分别计算到终点的距离之和,看是否相等即可。 没有确定终点时,枚举一个终点即可。 考虑将这种做法带入本题。先 枚
阅读全文
摘要:分享一种我认为很优美的解法。 首先发现,如果有一个点 使得以它为根,所有叶子深度相等,那么这一定是可行的。可以想象成将它拎出来并且把其他点横向拍扁。 然后,容易发现两个 相同的,满足上面要求的树组合在一起也是可以的,即分成上下两部分分别拍扁。 所以可以想到,如果能
阅读全文
摘要:李超线段树二次离线。 容易发现,将和某个点 相邻的边权翻若干倍后,直径所在位置有两种可能:经过或不经过该点。不经过可以跑一次直接求,否则还要分类讨论一下。 那么它会作为直径的一个端点。 否则 直径会从一条边进,另一条边出。 前者是简单
阅读全文
摘要:感觉是那种,看到题就能猜到大概思路的题。 首先给题目条件增加限制:考虑 的时候怎么做。这启示我们思考一个和值域相关的做法。 很容易想到一个树形 dp:设 为在以 为根的子树中, 所在连通块异或和为 时方案数与其他
阅读全文
摘要:居然差一点场切了。 首先可以将两棵树上对应的点看作一个点的两个不同状态考虑一个类似最短路的东西:设 为树上 状态的 点到 状态的最短路。考虑怎样维护这个值。 由于是树上路径问题,容易发现设 为树上 \
阅读全文
摘要:题目传送门 解题思路:倍增+树剖+树状数组 对于每次询问,我们可以看成是两个点都不断往上跳(如果一个点是另一个点的祖先则是只有一个跳),有一个很明显的贪心策略:每次都跳到能跳到的深度最小的点。然而一次一次往上跳可能被极端数据卡掉,所以要用倍增维护跳 次能跳到哪里。 然而两个点都跳到他
阅读全文
摘要:大常熟另类做法。不用排序。 要求直径长度,则想到把直径这一条链拎出来处理。然后考虑其他边会接在哪里,发现树最优情况下一定是一个毛毛虫的形式。更进一步,所有边都挂在接近直径中点的点上。 然后再考虑这些不在直径中的,长度为 的边带来的限制,设直径为 ,从每个点将直径切成两半,记其中
阅读全文
摘要:whk 考试前写题解攒 rp 有用吗 仍然是讲讲想出来的过程。 首先,我们只需要关心一个联通块中有哪些点,而不用关心图的具体形态。 然后,将每个连通块看作一个点,就变成了一个无根树计数问题,但是带权值。首先想到 prufer 序列。 prufer 序列的定义:一棵无根树中,每次将编号最小的叶子取出来
阅读全文
摘要:我不会高妙建树做法。喜提最劣解。差点被卡常,但是过了,赢。 考虑从后往前 dp, 为以 开头的路径方案数。考虑一个 能从哪些 转移来。发现 一定是从 开始,除了最后一个点,只经过 的点能到达的点。 这个条
阅读全文
摘要:虚高 *2800。放模拟赛 T2 人均切了。 先想树的情况怎么做。枚举每个起点,剩下的贡献就是定值。求这个值可以钦定 为根求出所有的 ,然后枚举 为起点,以 为起点的答案就是 加上 到 路径上,不
阅读全文