CF1970C3.Game on Tree (Hard)

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是该问题的困难版本。此版本与简单版本的唯一区别在于 $ t $ 的约束条件。

Ron 和 Hermione 正在一棵有 $ n $ 个结点的树上玩游戏,所有结点初始均为未激活。游戏共进行 $ t $ 轮,每一轮开始时,恰好有一个结点上放置了一块石头,该结点被视为已激活。每一步操作可以选择石头所在结点的一个未激活的邻居,并将石头移动到该邻居上(从而激活该邻居)。Ron 先手,之后两人轮流操作,直到无法进行有效操作为止。无法行动的一方输掉本轮。如果双方都采取最优策略,每轮游戏谁会获胜?

注意,所有轮次都在同一棵树上进行,仅起始结点不同。此外,每轮结束后,所有已激活结点都会重新变为未激活。

输入格式

第一行包含两个整数 $ n (( 2 \leq n \leq 2\times 10^5 )、)、 t (( 1 \leq t \leq n $),分别表示树的结点数和轮数。

接下来的 $ n-1 $ 行,每行包含两个整数 $ 1 \leq u, v \leq n $,表示树中的一条边。

最后一行包含 $ t $ 个整数 $ 1 \leq u_1 , \dots , u_t \leq n $,表示每轮石头最初放置的结点编号。

输出格式

输出共 $ t $ 行,每行输出 "Ron" 或 "Hermione"(不带引号),表示每轮游戏的获胜者。

输入输出样例

  • 输入#1

    5 2
    1 2
    1 3
    3 4
    3 5
    1 2

    输出#1

    Ron
    Ron
  • 输入#2

    6 3
    1 2
    2 3
    1 4
    4 5
    4 6
    1 4 6

    输出#2

    Hermione
    Ron
    Hermione

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页