hihoCoder #1343 Stable Members
Posted Pat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hihoCoder #1343 Stable Members相关的知识,希望对你有一定的参考价值。
题目大意
给定一个 $n+1$ 个点的有向无环图,点从 $0$ 开始编号。无重边、自环,且从每个点 $u$ 都能到达 $0$ 号点。如果每条 $u\leadsto 0$ 路径($u\ne 0$)都经过 $v$ ($v\ne 0$且$v\ne u$),则称 $u$ 是不稳定的,否则称 $u$ 稳定。求稳定点的个数。
一个错误解法
先记录我的一个错误做法。将输入的图中的边全部反向,从 $0$ 点开始 DFS。有向无环图在 DFS 的过程中不会出现回边,只有树边、前向边(forward edge)和侧向边(cross edge)。点 $u$ 稳定等价于「存在两条点不相交的 $0\leadsto u$ 路径」。而这个条件要是满足,那么必然出现连向 $u$ 的前向边或侧向边。在 DFS 的过程中,当发现有前向边或侧向边连向 $u$ 时,就检查当前这条 $0\leadsto u$ 路径和之前找到的完全由树边构成 $0\leadsto u$ 路径是否交叉,若无交叉,则 $u$ 稳定。可以通过类似 Tarjan 离线 LCA 算法的思路来判断上述两路径是否交叉,只要判断 $u$ 和 $0$ 是否在一个集合中(并查集),若在则无交叉。这个做法是错的,下面给出一个反例:
节点编号也是节点的访问顺序。
题解上的做法
这道题我没想出正解。
仍考虑输入的图。
如果每条 $u\leadsto 0$ 路径($u\ne 0$)都经过 $v$ ($v\ne 0$ 且 $v\ne u$),则称 $v$ 是 $u$ 的支配点(dominator)。
不难证明,支配点有下述性质:
$u$ 的支配点可能不唯一,但一定连续地分布在某条链上。这个性质根据定义很容易证明。
证明:设 $P$ 设任意一条 $u\leadsto 0$ 路径,根据定义,$u$ 的所有支配点都在 $P$ 上。将 $P$ 上的除了 $u$、$0$ 和 $u$ 的支配点之外的所有点都删除,根据定义
以上是关于hihoCoder #1343 Stable Members的主要内容,如果未能解决你的问题,请参考以下文章
hihoCoder #1343 Stable Members