支配树
ixRic
ixRic
展开
-
[CodeForces 757F] Team Rocket Rises Again(最短路径图 + 支配树) | 错题本
文章目录题目分析错因代码题目[CodeForces 757F] Team Rocket Rises Again分析建出最短路径图(是个 DAG)的支配树,找到除起点外支配的点最多的点即可。错因Tid 打成 Dfn;用链式前向星,To 和 Next 数组的大小没有开到 mmm;以为是求要删的点(样例还能过)。代码#include <bits/stdc++.h>typedef long long LL;typedef std::pair<int, int>原创 2020-07-07 15:36:37 · 195 阅读 · 0 评论 -
[ZJOI 2012] 灾难(支配树) | 错题本
文章目录题目分析错因代码题目[ZJOI 2012] 灾难分析将图中所有边取反,发现要求的就是每个点支配的点数。然而发现一个问题:这个不是一个单源点的有向图。我们只需建一个源点,将其向所有入度为零的点连边,建出支配树即可。当然,这个图是 DAG,事实上拓扑排序就 + LCA 能找到支配点。但我还是用的 LT错因没想到怎么处理多源点的 DAG 的问题;板子打错了两个地方。代码#include <bits/stdc++.h>const int MAXN = 65534;原创 2020-07-07 09:58:34 · 178 阅读 · 0 评论 -
支配树 | 模板
文章目录题目实现思路代码题目【模板】支配树实现思路DFS 一次得到 Dfn 和 Tid 数组;从 Dfn 大的点开始枚举点 uuu:枚举 uuu 的反向邻接点 vvv,则 vvv 所在的并查集的最小 SDom 可以更新 uuu(因为 uuu 的 DFS 树上的父亲还没更新进带权并查集,所以这时候所有的 vvv 都可以在符合定理的条件下更新 uuu),注意不要管不在 DFS 树上的点;在 SDom 树上将 SDom[u] 向 uuu 连边;将 uuu 更新进带权并查集(将自己在并查集上连向原创 2020-07-06 18:05:09 · 252 阅读 · 0 评论