atcoder#ABC170E. [ABC170E] Smart Infants

[ABC170E] Smart Infants

题目描述

AtCoder に参加している幼児が N N 人おり、1 1 から N N の番号が付けられています。また、幼稚園が 2× 105 2\times\ 10^5 校あり、1 1 から 2× 105 2\times\ 10^5 の番号が付けられています。 幼児 i i のレートは Ai A_i であり、はじめ幼稚園 Bi B_i に所属しています。

これから Q Q 回にわたって、転園が行われます。 j j 回目の転園では、幼児 Cj C_j の所属を幼稚園 Dj D_j に変更します。

ここで、「平等さ」を、AtCoderに参加している幼児が一人以上いるような幼稚園それぞれについて園内で最もレートの高い幼児のレートを求め、その最小値として得られる値とします。

Q Q 回それぞれの転園後の平等さを求めてください。

输入格式

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

N N Q Q A1 A_1 B1 B_1 A2 A_2 B2 B_2 : : AN A_N BN B_N C1 C_1 D1 D_1 C2 C_2 D2 D_2 : : CQ C_Q DQ D_Q

输出格式

Q Q 行出力せよ。 j j 行目には、j j 回目の転園の後の平等さを出力せよ。

题目大意

NN 婴儿注册了 AtCoder,编号为 1N1\sim N,另有 2×1052\times10^5 个幼儿园,编号为 12×1051\sim 2\times10^5。编号为 ii 的婴儿 Rating 为 AiA_i,最初位于 BiB_i 号幼儿园。

进行 QQ 次操作,第 jj 次操作后 CjC_j 号婴儿会转到 DjD_j 号幼儿园。

定义“均衡值”为:找出每个幼儿园中 Rating 最高的婴儿,他们中最低的 Rating 为“均衡值”。

对于每次操作,求出操作后的“均衡值”。

6 3
8 1
6 2
9 3
1 1
2 2
1 3
4 3
2 1
1 2
6
2
6
2 2
4208 1234
3056 5678
1 2020
2 2020
3056
4208

提示

制約

  • 1  N,Q  2 × 105 1\ \leq\ N,Q\ \leq\ 2\ \times\ 10^5
  • 1  Ai  109 1\ \leq\ A_i\ \leq\ 10^9
  • 1  Cj  N 1\ \leq\ C_j\ \leq\ N
  • 1  Bi,Dj  2 × 105 1\ \leq\ B_i,D_j\ \leq\ 2\ \times\ 10^5
  • 入力はすべて整数である。
  • j j 回目の転園の前後で幼児 Cj C_j の所属は異なる。

Sample Explanation 1

はじめ、幼稚園 1 1 には幼児 1, 4 1,\ 4 、幼稚園 2 2 には幼児 2, 5 2,\ 5 、幼稚園 3 3 には幼児 3, 6 3,\ 6 が所属しています。 1 1 回目の転園で幼児 4 4 の所属を幼稚園 3 3 に変更すると、幼稚園 1 1 には幼児 1 1 、幼稚園 2 2 には幼児 2, 5 2,\ 5 、幼稚園 3 3 には幼児 3, 4, 6 3,\ 4,\ 6 が所属している状態になります。幼稚園 1 1 で最もレートの高い幼児のレートは 8 8 、幼稚園 2 2 では 6 6 、幼稚園 3 3 では 9 9 です。これらの最小値は 6 6 であるので、1 1 行目には 6 6 を出力します。 2 2 回目の転園で 2 2 番目の幼児の所属を幼稚園 1 1 に変更すると、幼稚園 1 1 には幼児 1, 2 1,\ 2 、幼稚園 2 2 には幼児 5 5 、幼稚園 3 3 には幼児 3, 4, 6 3,\ 4,\ 6 が所属している状態になります。幼稚園 1 1 で最もレートの高い幼児のレートは 8 8 、幼稚園 2 2 では 2 2 、幼稚園 3 3 では 9 9 です。これらの最小値は 2 2 であるので、2 2 行目には 2 2 を出力します。 3 3 回目の転園で 1 1 番目の幼児の所属を幼稚園 2 2 に変更すると、幼稚園 1 1 には幼児 2 2 、幼稚園 2 2 には幼児 1, 5 1,\ 5 、幼稚園 3 3 には幼児 3, 4, 6 3,\ 4,\ 6 が所属している状態になります。幼稚園 1 1 で最もレートの高い幼児のレートは 6 6 、幼稚園 2 2 では 8 8 、幼稚園 3 3 では 9 9 です。これらの最小値は 6 6 であるので、3 3 行目には 6 6 を出力します。