atcoder#ABC226B. [ABC226B] Counting Arrays

[ABC226B] Counting Arrays

配点 : 200200

問題文

11 から NN までの番号がついた NN 個の数列が与えられます。 数列 ii は、長さが LiL_ijj (1jLi)(1 \leq j \leq L_i) 番目の要素が ai,ja_{i,j} であるような数列です。

数列 ii と 数列 jj は、 Li=LjL_i = L_j かつすべての kk (1kLi)(1 \leq k \leq L_i) に対して ai,k=aj,ka_{i,k} = a_{j,k} が成り立つ時に同じであるとみなします。 同じ数列は 11 種類として数えるとき、数列 11 から 数列 NN の中に全部で何種類の数列がありますか?

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Li2×1051 \leq L_i \leq 2 \times 10^5 (1iN)(1 \leq i \leq N)
  • 0ai,j1090 \leq a_{i,j} \leq 10^{9} (1iN,1jLi)(1 \leq i \leq N, 1 \leq j \leq L_i)
  • すべての数列の要素の個数の和、すなわち i=1NLi\sum_{i=1}^N L_i2×1052 \times 10^5 を超えない。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN

L1L_1 a1,1a_{1,1} a1,2a_{1,2} \dots a1,L1a_{1,L_1}

L2L_2 a2,1a_{2,1} a2,2a_{2,2} \dots a2,L2a_{2,L_2}

\vdots

LNL_N aN,1a_{N,1} aN,2a_{N,2} \dots aN,LNa_{N,L_N}

出力

数列の種類数を出力せよ。

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

入力例 11 で与えられている数列は以下の 44 個です。

  • 数列 11 : (1,2)(1, 2)
  • 数列 22 : (1,1)(1, 1)
  • 数列 33 : (2,1)(2, 1)
  • 数列 44 : (1,2)(1, 2)

このうち数列 11 と数列 44 は同じ数列で、それ以外は互いに異なる数列なので全部で 33 種類の数列があります。

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

入力例 22 で与えられている数列は以下の 55 個です。

  • 数列 11 : (1)(1)
  • 数列 22 : (1)(1)
  • 数列 33 : (2)(2)
  • 数列 44 : (1,1)(1, 1)
  • 数列 55 : (1,1,1)(1, 1, 1)
1
1 1
1