随笔分类 - 倍增:LCA
【洛谷P3398】仓鼠找sugar
摘要:画个图就能多少看出些规律 证明借鉴一下大牛的题解: 设从A到B,经过的深度最小的点为X 同理,C,D的为Y 题目是一个点从A出发到B 一个从C出发到D 那么从A到B可以分解成 先从A到X 再从X到B。。。 C同理 假设能相遇 那么 要么在A到X的过程A,B相遇 要么在X到B的过程A,B相遇 对于在A
阅读全文
【洛谷P3258】松鼠的新家
摘要:很好的一道题 LCA+树上前缀和 sum数组是前缀和数组, 分类讨论一下, 1.访问到一个点p1,若下一个点p2需要往儿子下面找的话,那么lca就是这个点p1,则sum[p1]--; sum[p2]++; 2.访问到一个点p1,若下一个点p2需要往父亲上找的话,那么lca就是p2,则sum[f[p2
阅读全文
【洛谷P1697】货车运输
摘要:首先,对于所有从x能到达y的路径中,限重越大越好 因此我们用Kruskal最大生成树得到一片森林(不一定都联通) 之后dfs维护森林的深度和LCA的预处理limit[x][0](x向上跳2^i步的边权最小值) 对于每个询问,求x和y到lca的边权最小值即可 1 #include<cstdio> 2
阅读全文
浙公网安备 33010602011771号