AGC005E Sugigma: The Showdown

题意:给出两颗标号对应的树 。

两人进行游戏,初始时, 在点 , 在点 。

两人轮流操作, 为先手。

可以利用 中的边移动(或不移动), 可以利用 中的边移动(或不移动)。

当两人相遇时游戏结束, 想最大化游戏轮数, 想最小化游戏轮数,问游戏会进行多少轮。(可能为无限轮)

,时限 。


考虑何时游戏会进行无限轮。

若 中相邻的两个点在 中距离 ,则 只需要在两个点反复横跳,即可永远不被抓到。

假设 中相邻的两个点在 中距离总是 ,以 所在的点为根,我们发现, 不可能走出 中自己所在的子树。

因为 若要跨越 ,则和 距离必然为 ,下一步就会被吃掉。原地等待也是下一步被吃掉,不会更劣。

于是, 的最优决策一定是每次向着 中 所在的子树行走。

记 表示 上 的距离, 表示 上 的距离。

若点 满足 ,那么 就不能前往该点。

在 上搜索,求出 能前往的点的集合,判定是否能进行无限轮,若不行,则前往 最大的点并等待,答案为 。

复杂度 。