码迷,mamicode.com
首页 > 其他好文 > 详细

hihoCoder #1343 Stable Members

时间:2017-11-30 20:12:09      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:uip   分布   记录   diy   bcg   检查   div   poc   mda   

题目大意

给定一个 $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

标签:uip   分布   记录   diy   bcg   检查   div   poc   mda   

原文地址:http://www.cnblogs.com/Patt/p/7928969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!