AT_arc148_c.[ARC148C] Lights Out on Tree

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一棵有 NN 个顶点的有根树,顶点编号为 11 到 NN。顶点 11 是根节点,对于每个 ii (2≤i≤N)(2 \leq i \leq N),顶点 ii 的父节点是顶点 PiP_i。

每个顶点上放有一枚正反两面的硬币,共 NN 枚。

此外,有 NN 个编号为 11 到 NN 的按钮。按下按钮 nn 时,以 nn 为根的子树内所有顶点上的硬币都会被翻面。

现在需要处理 QQ 个如下描述的查询。

对于第 ii 个查询,给定一个大小为 MiM_i 的顶点集合 Si={vi,1,vi,2,…,vi,Mi}S_i = \{ v_{i,1}, v_{i,2}, \dots, v_{i,M_i} \}。

此时,SiS_i 中的顶点上的硬币为正面,其余顶点上的硬币为反面。你可以多次选择一个按钮按下,每次操作后所有被影响的硬币都会翻面。请问,最少需要按多少次按钮,才能使所有 NN 枚硬币都变为反面?如果无论如何都无法全部变为反面,请输出 −1-1。

输入格式

输入按以下格式从标准输入读入。

NN QQ
P2P_2 P3P_3 …\dots PNP_N
M1M_1 v1,1v_{1,1} v1,2v_{1,2} …\dots v1,M1v_{1,M_1}
M2M_2 v2,1v_{2,1} v2,2v_{2,2} …\dots v2,M2v_{2,M_2}
⋮\vdots
MQM_Q vQ,1v_{Q,1} vQ,2v_{Q,2} …\dots vQ,MQv_{Q,M_Q}

输出格式

输出 QQ 行,第 ii 行输出第 ii 个查询的答案。

输入输出样例

  • 输入#1

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

    输出#1

    1
    2
    1
    3
    2
    3

说明/提示

数据范围

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤Pi<i1 \leq P_i < i
  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 1≤Mi1 \leq M_i
  • ∑i=1QMi≤2×105\displaystyle \sum_{i=1}^Q M_i \leq 2 \times 10^5
  • 1≤vi,j≤N1 \leq v_{i,j} \leq N
  • vi,1,vi,2,…,vi,Miv_{i,1}, v_{i,2}, \dots, v_{i,M_i} 互不相同
  • 所有输入均为整数

样例解释 1

对于第 11 个查询,如下操作只需按 11 次按钮即可满足条件,且这是最小次数。

  • 按下按钮 11。顶点 1,2,3,4,5,61,2,3,4,5,6 上的硬币被翻面。

对于第 22 个查询,如下操作只需按 22 次按钮即可满足条件,且这是最小次数。

  • 按下按钮 44。顶点 44 上的硬币被翻面。
  • 按下按钮 22。顶点 2,4,5,62,4,5,6 上的硬币被翻面。

由 ChatGPT 4.1 翻译

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

首页