Focus on yourself, m|

wscqwq

园龄:2年粉丝:2关注:3

信息传递

P2661 [NOIP2015 提高组] 信息传递

在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 Ti 的同学。

可以看出形成了基环树森林,且都是从边缘指向环上的点。

法1

直接从每个点出发遍历,直到遇到遍历过的点:若是本轮的,计算环长,然后停止。

https://www.luogu.com.cn/record/157133428

法2

i,Ti 的传递为 (a,b)。由于每个点只有一个出边,所以按照 ab 合并并查集,a 原来必定是根。(自己是第一次合并,子节点不可能有两条出边)。

如果出现环,由于 a 是根,只需要计算 b 的深度 +1

需要维护每个点到根的距离,带权并查集。

https://www.luogu.com.cn/record/157143713

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/18160995

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(9)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起