AT_arc164_f [ARC164F] Subtree Reversi
题目描述
给定一棵有 $N$ 个顶点的有根树,顶点编号为 $1$ 到 $N$,以顶点 $1$ 为根。对于每个顶点 $i$($2 \leq i \leq N$),其父节点为 $p_i$。
Alice 和 Bob 使用这棵树进行如下游戏:
- Alice 先手,Bob 后手,双方轮流在树的顶点上放置一枚石子。石子有正反两面,正面为白色,反面为黑色。Alice 总是将白色面朝上放置,Bob 总是将黑色面朝上放置。
- 每次只能在当前没有石子的顶点,并且其所有子孙顶点都已经放置了石子的顶点上放置石子。
- 放置石子时,需要将该顶点所有子孙上的石子全部翻面(但新放置的石子不翻面)。
当所有顶点都放置了石子后,游戏结束。此时,白色面朝上的石子数量即为 Alice 的得分。
Alice 希望最大化得分,Bob 希望最小化 Alice 的得分。双方都采取最优策略时,Alice 的得分是多少?
输入格式
输入为一行,格式如下:
> $N$ $p_2$ $p_3$ $\ldots$ $p_N$
输出格式
输出一个整数,表示 Alice 的得分。
说明/提示
## 限制条件
- $2 \leq N \leq 2 \times 10^5$
- $1 \leq p_i < i$ ($2 \leq i \leq N$)
- 输入的所有值均为整数
- 给定的图结构保证是一棵树
## 样例解释 1
对于给定的树,最初可以放置石子的顶点只有 $3,4$。例如,游戏可以如下进行:
- Alice 在顶点 $4$ 放置白色面朝上的石子。此时,顶点 $2$ 的所有子孙都已放置石子,因此可以放置石子。
- Bob 在顶点 $2$ 放置黑色面朝上的石子,并将顶点 $4$ 的石子翻面,使其变为黑色面朝上。
- Alice 在顶点 $3$ 放置白色面朝上的石子。
- Bob 在顶点 $1$ 放置黑色面朝上的石子,并将顶点 $2,3,4$ 的石子全部翻面。
此时,顶点 $1,2,3,4$ 上的石子分别为黑、白、黑、白朝上。实际上,这是一种双方最优策略下的进行方式,答案为 $2$。
由 ChatGPT 4.1 翻译