QOJ.ac

QOJ

Time Limit: 1.5 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#14720. Сеть 77G

Statistics

Карту Мяуленда можно рассматривать как подвешенное дерево с $n$ вершинами и $n - 1$ рёбрами, где вершины представляют города, а ребро представляет дорогу, соединяющую два города. Столица находится в корне — вершине $1$.

Теперь Мяуленд хочет установить в некоторых городах новейшие базовые станции сети 77G. Чтобы обеспечить достаточное качество связи на каждой дороге, хотя бы в одном из городов на концах каждой дороги должна быть установлена базовая станция. Однако из-за неизвестных технических проблем в сетевой системе имеется $m$ неполадок. Неполадка $i$ описывается следующим образом: если в городе $x_i$ установлена базовая станция, то во всех городах в поддереве $x_i$, расстояние от которых до $x_i$ в точности равно $y_i$, нельзя устанавливать базовые станции; иначе станции будут создавать помехи друг другу и станут непригодными для использования.

Пожалуйста, помогите Мяуленду выбрать несколько городов так, чтобы установка базовых станций в этих городах удовлетворяла всем вышеперечисленным требованиям. Если подходящей схемы не существует, выведите No.

Входные данные

Каждый тестовый файл содержит несколько наборов входных данных. Первая строка содержит количество наборов входных данных $T$ ($1 \le T \le 10^3$). Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит целое число $n$ ($2 \le n \le 2 \times 10^5$), обозначающее количество городов.

Вторая строка содержит $n - 1$ целых чисел $f_2, f_3, \dots, f_n$ ($1 \le f_i < i$), где $f_i$ обозначает предка города $i$.

Третья строка содержит целое число $m$ ($0 \le m \le 2 \times 10^5$), обозначающее количество неполадок.

Каждая из следующих $m$ строк содержит два целых числа $x_i$ и $y_i$ ($1 \le x_i, y_i \le n$), описывающих $i$-ю неполадку. Могут существовать две одинаковые неполадки.

Для каждого тестового файла гарантируется, что сумма $n$ по всем наборам входных данных не превосходит $2 \times 10^5$, а сумма $m$ по всем наборам входных данных не превосходит $2 \times 10^5$.

Выходные данные

Для каждого набора входных данных, если подходящей схемы не существует, выведите строку No.

В противном случае выведите три строки, описывающие вашу схему:

  • В первой строке выведите Yes.
  • Во второй строке выведите целое число $c$, обозначающее количество выбранных вами городов.
  • В третьей строке выведите $c$ различных целых чисел, обозначающих выбранные вами города.

Если подходящих схем несколько, вы можете вывести любую из них. При выводе схемы можно перечислять $c$ городов в любом порядке.

Пример

Пример входных данных 1

3
6
1 1 2 2 4
2
1 3
2 1
6
1 1 2 2 4
6
1 1
1 2
1 3
2 1
2 2
2 1
8
1 1 3 1 1 2 4
10
1 2
3 2
1 3
5 1
6 1
3 2
4 1
3 2
5 1
3 1

Пример выходных данных 1

Yes
4
5 3 4 1
No
No

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.