atcoder#ARC065B. [ABC049D] 連結

[ABC049D] 連結

题目描述

N N 個の都市があり、K K 本の道路と L L 本の鉄道が都市の間に伸びています。 i i 番目の道路は pi p_i 番目と qi q_i 番目の都市を双方向に結び、 i i 番目の鉄道は ri r_i 番目と si s_i 番目の都市を双方向に結びます。 異なる道路が同じ 2 2 つの都市を結ぶことはありません。同様に、異なる鉄道が同じ 2 2 つの都市を結ぶことはありません。

ある都市から別の都市に何本かの道路を通って到達できるとき、それらの都市は道路で連結しているとします。また、すべての都市はそれ自身と道路で連結しているとみなします。
鉄道についても同様に定めます。

全ての都市について、その都市と道路・鉄道のどちらでも連結している都市の数を求めてください。

输入格式

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

N N K K L L p1 p_1 q1 q_1 : pK p_K qK q_K r1 r_1 s1 s_1 : rL r_L sL s_L

输出格式

N N 個の整数を出力せよ。i i 番目の数は i i 番目の都市と道路・鉄道の両方で連結している都市の数である。

题目大意

题目描述

NN个城市,KK条道路(指地面上的道路)和LL条地铁。道路和地铁都是无向的。对于每个点,请你求出它只通过道路只通过地铁都能到达的点的个数。道路和地铁之间不能换乘,你只能完全通过地铁到达某个点,或者完全通过道路到达某个点。

输入格式

第一行三个正整数N,K,LN,K,L (N2×105,K,L105N\le2\times 10^5,K,L\le10^5)
然后KK行,每行两个数p,qp,q,表示城市pp和城市qq通过道路连接。
然后LL行,每行两个数r,sr,s,表示城市rr和城市ss通过地铁连接。

输出格式

一行NN个正整数,表示每个点只通过道路和只通过地铁都能到达的点的个数。

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

提示

制約

  • 2  N  2105 2\ ≦\ N\ ≦\ 2*10^5
  • 1  K, L 105 1\ ≦\ K,\ L≦\ 10^5
  • 1  pi, qi, ri, si  N 1\ ≦\ p_i,\ q_i,\ r_i,\ s_i\ ≦\ N
  • pi < qi p_i\ <\ q_i
  • ri < si r_i\ <\ s_i
  • i  j i\ ≠\ j のとき、(pi, qi)  (pj, qj) (p_i,\ q_i)\ ≠\ (p_j,\ q_j)
  • i  j i\ ≠\ j のとき、(ri, si)  (rj, sj) (r_i,\ s_i)\ ≠\ (r_j,\ s_j)

Sample Explanation 1

1, 2, 3, 4 1,\ 2,\ 3,\ 4 番目の都市は全て互いに道路で連結しています。 鉄道で連結している都市は 2, 3 2,\ 3 のみなので、答えは順に 1, 2, 2, 1 1,\ 2,\ 2,\ 1 となります。