atcoder#ARC148C. [ARC148C] Lights Out on Tree
[ARC148C] Lights Out on Tree
题目描述
頂点に から の番号がついた 頂点の根付き木があります。頂点 が根で、頂点 の親は頂点 です。
表裏のあるコインが 枚あります。コインは全ての頂点の上に 枚ずつ載っています。
また、 から までの番号がついた 個のボタンがあります。ボタン を押すと を根とする部分木に含まれる頂点に載っている全てのコインが裏返ります。
以下で説明するクエリを 個処理してください。
番目のクエリではサイズ の頂点集合 $ S_i\ =\ \lbrace\ v_{i,1},\ v_{i,2},\dots,\ v_{i,M_i}\ \rbrace $ が与えられます。
今、 に含まれる頂点の上に載っているコインは表を、それ以外のコインは裏を向いています。ボタンを つ選んで押すことを繰り返して、 枚のコイン全てを裏向きにするには、最小で何回ボタンを押す必要がありますか?答えを出力してください。ただし、どのようにボタンを押しても 枚のコイン全てが裏向きにならない場合は を出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
行出力せよ。 行目には 番目のクエリの答えを出力せよ。
题目大意
题意:
给你一颗有根树,每个节点是黑色或白色,初始全为白色。
每次询问给出一个点集 ,把点集中的点全部染成黑色,问至少需要翻转多少个节点使整棵树全为白点,无解输出 -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
2
1
3
2
3
提示
制約
- $ \displaystyle\ \sum_{i=1}^Q\ M_i\ \leq\ 2\ \times\ 10^5 $
- は互いに異なる
- 入力される値はすべて整数
Sample Explanation 1
番目のクエリについて、以下に説明するようにボタンを 回押すことで条件を満たすことができて、これが最小です。 - ボタン を押す。頂点 に載っているコインが裏返る。 番目のクエリについて、以下に説明するようにボタンを 回押すことで条件を満たすことができて、これが最小です。 - ボタン を押す。頂点 に載っているコインが裏返る。 - ボタン を押す。頂点 に載っているコインが裏返る。