最近公共祖先
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[BZOJ2815][ZJOI2012]灾难 拓扑排序+lca
若A能吃掉B,那么B向A连边。建一个虚根连向所有入度为0的点,拓扑排序一发。 考虑这么一棵树,假如某个节点灭绝,那么它的子树也全部灭绝。构造出这样一棵树就好了。 假设拓扑中前k-1项的树已经构造好了,考虑第k项该接在哪。显然,应该接在原图中所有向它有连边的点在树中的lca下。 构造出来统计一发子树大小就行了。 代码:#include<iostream> #include<cstdio> #i原创 2017-10-17 19:20:52 · 374 阅读 · 0 评论 -
[2017纪中11-9]玩游戏 最短路数+LCA
题面 考虑这样定义的最短路对应的最短路树恰好是最小生成树。因为add操作不多,每次暴力重构最短路树,询问的时候跑lca即可。复杂度O(n^2logn)。 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define ll long long using namespace std; in原创 2017-11-10 15:39:01 · 427 阅读 · 0 评论