QOJ.ac

QOJ

Limite de temps : 3.0 s Limite de mémoire : 256 MB Points totaux : 100

#12357. 未完的故事

Statistiques

Chiaki 有一棵以 1 为根的树,包含 $n$ 个节点,编号为 $1$ 到 $n$。每条边都有一个正整数权值。

现在,两名玩家在树上进行游戏。他们轮流行动。在每一回合中,玩家应选择一条边并将其权值减 1。

如果一条边的权值变为 0,它将被移除。在边被移除后,树会分裂成两部分。不包含根节点的那一部分将被丢弃(永久从树中移除)。

如果一名玩家在某一回合没有边可以选择,则该玩家输掉游戏。

Chiaki 作为先手玩家,想知道她在第一回合可以选择哪些边,以确保在双方都采取最优策略的情况下她能获胜。请帮她找出这些边。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。

对于每组测试数据: 第一行包含一个整数 $n$ ($1 \le n \le 10^6$):树的节点数。 接下来的 $n-1$ 行按顺序描述节点 $2, 3, \dots, n$。描述节点 $i$ 的行包含两个整数 $p_i$ 和 $w_i$ ($1 \le p_i \le n, 1 \le w_i \le 10^9$),其中 $p_i$ 表示节点 $i$ 的父节点,$w_i$ 表示节点 $i$ 与 $p_i$ 之间边的权值。

保证所有测试数据的 $n$ 之和不超过 $10^6$。

输出格式

对于每组测试数据,输出两行。

第一行包含一个整数 $m$:Chiaki 在第一回合可以选择的、能确保她在双方最优策略下获胜的边的数量。 第二行包含 $m$ 个整数,按升序排列,中间用空格隔开。如果 Chiaki 可以选择节点 $u$ 与其父节点之间的边,则 $u$ 必须出现在输出中。

样例

输入 1

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

输出 1

4
2 3 4 5
0

1
2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.