QOJ.ac

QOJ

时间限制: 5 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#18513. Game: Adversarial Distance Oracle

统计

Алиса и Боб играют в игру на дереве $T$ с $n$ вершинами. Алиса хочет определить секретную вершину $x$. Однако Боб противодействует и не обязан выбирать $x$ заранее.

Изначально каждая вершина $T$ считается «возможным» кандидатом для $x$. Каждым ходом Алиса выбирает вершину $v$ и спрашивает расстояние от $v$ до $x$. Боб отвечает неотрицательным целым числом $d$. Затем Алиса удаляет всех кандидатов $u$, для которых $\operatorname{dist}(u, v) \neq d$.

Ответ Боба должен быть согласован хотя бы с одним оставшимся кандидатом. Другими словами, после того как Алиса удалит все вершины $u$ с $\operatorname{dist}(u, v) \neq d$, множество кандидатов всё ещё должно быть непустым. Соблюдая это правило, Боб выбирает свои ответы так, чтобы вынудить Алису использовать как можно больше запросов.

Алиса выигрывает, как только остаётся ровно один кандидат. Алиса выбирает свои запросы оптимально, чтобы минимизировать количество запросов.

Зная структуру дерева, найдите минимальное количество запросов, которое гарантирует победу Алисы независимо от стратегии Боба.

Например, если Алиса запрашивает вершину $v$, а Боб отвечает $d=2$, то все вершины на расстоянии ровно $2$ от $v$ остаются возможными, а все остальные удаляются.

Запрос к $v$ и ответ 2: заштрихованная вершина — запрошенная, пунктирные вершины остаются возможными, обычные вершины удаляются.

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

Первая строка содержит одно целое число $t$ ($1 \le t \le 10^5$) — количество наборов входных данных.

Каждый набор начинается с одного целого числа $n$ ($2 \le n \le 2000$) — количество вершин.

Каждая из следующих $n-1$ строк содержит два целых числа $a_i$ и $b_i$ ($1 \le a_i,b_i \le n$, $a_i \ne b_i$), обозначающих ребро дерева.

Гарантируется, что рёбра каждого набора образуют дерево и что $\sum n^2 \le 2000^2$ по всем наборам.

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

Для каждого набора входных данных выведите одно целое число: минимальное количество запросов, необходимое Алисе в худшем случае.

Примеры

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

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

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

1
3

Примечание 1

  • В первом наборе дерево представляет собой путь из четырёх вершин. Запрос вершины 1 даёт возможные расстояния 0, 1, 2, 3, все различны, поэтому одного запроса достаточно.
  • Во втором наборе дерево — звезда с центром в вершине 1.
  • На следующих диаграммах заштрихованная вершина — запрошенная, пунктирные вершины остаются возможными после ответа Боба, а обычные удалены.
problem_18513_2.png

Запрос 2, ответ 2: вершины 3, 4, 5 остаются возможными.

problem_18513_3.png

Запрос 3, ответ 2: вершины 4, 5 остаются возможными.

problem_18513_4.png

Запрос 4, ответ 2: остаётся только вершина 5.

  • Это показывает, что трёх запросов достаточно. Алиса сначала запрашивает лист 2. Если Боб отвечает 0 или 1, секретная вершина определяется сразу; наихудший ответ — 2, оставляя листья 3, 4, 5. Затем Алиса запрашивает лист 3, и в худшем случае остаются листья 4, 5. Последний запрос различает их.
  • Двух запросов недостаточно. После первого запроса Боб может оставить возможными как минимум три листа. Среди трёх листьев звезды ещё один запрос расстояния не может различить их все, потому что как минимум два листа находятся на одинаковом расстоянии до запрошенной вершины.

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.