AGC005E Sugigma: The Showdown

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

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

两人轮流操作, 为先手。

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

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

,时限


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

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

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

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

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

表示 的距离, 表示 的距离。

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

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

复杂度