atcoder#ABC302F. [ABC302F] Merge Set
[ABC302F] Merge Set
题目描述
黒板に 以上 以下の整数からなる集合 個 が書かれています。ここで、$ S_i\ =\ \lbrace\ S_{i,1},S_{i,2},\dots,S_{i,A_i}\ \rbrace $ です。
あなたは、以下の操作を好きな回数( 回でもよい)行うことが出来ます。
- 個以上の共通した要素を持つ 個の集合 を選ぶ。 の 個を黒板から消し、新たに を黒板に書く。
ここで、 とは か の少なくともどちらかに含まれている要素のみからなる集合を意味します。
と が両方含まれる集合を作ることが出来るか判定してください。出来るならば、必要な操作回数の最小値を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
と が両方含まれる集合を作ることが出来るならば必要な操作回数の最小値を、出来ないならば -1
を出力せよ。
题目大意
有 个集合 ,其中 。
每次选择两个满足 的集合 ,将它们删掉并加上一个新集合 。
问最少多少次操作使得存在一个集合 满足 。
- $ 1\ \le\ \sum\limits_{i=1}^{N}\ A_i\ \le\ 5\ \times\ 10^5 $
- $ 1\ \le\ S_{i,j}\ \le\ M(1\ \le\ i\ \le\ N,1\ \le\ j\ \le\ A_i) $
- $ S_{i,j}\ \neq\ S_{i,k}(1\ \le\ j\ <\ k\ \le\ A_i) $
3 5
2
1 2
2
2 3
3
3 4 5
2
1 2
2
1 2
0
3 5
2
1 3
2
2 4
3
2 4 5
-1
4 8
3
1 3 5
2
1 2
3
2 4 7
4
4 6 7 8
2
提示
制約
- $ 1\ \le\ \sum_{i=1}^{N}\ A_i\ \le\ 5\ \times\ 10^5 $
- $ 1\ \le\ S_{i,j}\ \le\ M(1\ \le\ i\ \le\ N,1\ \le\ j\ \le\ A_i) $
- $ S_{i,j}\ \neq\ S_{i,k}(1\ \le\ j\ <\ k\ \le\ A_i) $
- 入力は全て整数である。
Sample Explanation 1
まず、 と を選んで消し、 を追加します。 そして、 と を選んで消し、 を追加します。 すると 回の操作で と を両方含む集合を作ることが出来ます。 回の操作では目標を達成できないため、答えは です。
Sample Explanation 2
始めから が を共に含むため、必要な操作回数の最小値は 回です。