AT_arc205_d.[ARC205D] Non-Ancestor Matching

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一棵有 NN 个顶点的有根树,顶点编号为 11 到 NN。顶点 11 是根节点,顶点 ii 的父节点为 pip_i(2≤i≤N2 \le i \le N,1≤pi<i1\le p_i < i)。最初,所有顶点均被染为白色。

你可以执行如下操作任意多次(包括零次):

  • 选择一对整数 (u,v)(u,v),满足以下所有条件:

    • 1≤u<v≤N1\le u < v \le N
    • 顶点 uu 和 vv 都是白色。
    • uu 不是 vv 的祖先。
  • 将顶点 uu 和 vv 染为黑色。

这里,uu 不是 vv 的祖先,表示无论你对 vv 向上传递到父节点多少次,都无法到达 uu。

请你在合适的操作顺序下,计算你最多可以执行多少次操作。

有 TT 组测试数据,请你求出每组的答案。

输入格式

输入按如下格式给出:

TT

case1\text{case}_1

case2\text{case}_2

⋮\vdots

caseT\text{case}_T

每组测试数据 casei\text{case}_i 格式如下:

NN

p2p_2 p3p_3 …\ldots pNp_N

输出格式

输出 TT 行。

第 ii 行(1≤i≤T1\le i\le T)输出第 ii 个测试用例的答案。

输入输出样例

  • 输入#1

    4
    6
    1 2 2 2 5
    7
    1 2 3 4 5 6
    7
    1 2 3 4 2 4
    12
    1 1 2 2 2 4 4 4 7 7 7

    输出#1

    2
    0
    2
    5

说明/提示

示例解释 1

考虑第一个测试用例。

你可以如下进行两次操作:

  • 选择 (u,v)=(3,5)(u,v)=(3,5),将顶点 33 和 55 染成黑色。
  • 选择 (u,v)=(4,6)(u,v)=(4,6),将顶点 44 和 66 染成黑色。

无法进行超过两次的操作,因此第一行输出 22。

数据范围

  • 1≤T≤5×1041\le T\le 5\times 10^4
  • 2≤N≤5×1052\le N\le 5\times 10^5
  • 1≤pi<i1\le p_i < i
  • 所有测试用例的 NN 之和不超过 5×1055\times 10^5。
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

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

首页