luogu#P10648. [NordicOI 2023] Island Alliances

[NordicOI 2023] Island Alliances

题目背景

翻译自 NordicOI 2023 C 题 Island Alliances。

题目描述

海面上有 nn 个岛屿,其中有 mm 对岛屿关系恶劣,但是由于天气恶劣,岛屿肯定不能单独生存,所以有些岛屿提议“联盟”。

现有 qq 次联盟请求,每次包含了一对 (ai,bi)(a_i,b_i),表示 aia_i 想要与 bib_i 联盟,但是,考虑到某些岛屿恶劣的关系,所以这个提议不一定成立,如果 aia_i 原本所在联盟的岛屿都不和 bib_i 所在的联盟的所有岛屿存在恶劣的关系,则两者可以同意联盟,否则将不同意。

注意此处一但同意了联盟,则两个岛屿所在联盟立即并成一个联盟。

输入格式

第一行三个整数 nnmmqq,依次表示有 nn 个岛屿,mm 对关系恶劣的岛屿和 qq 次提议。

接下来 mm 行,每行一对整数 (ui,vi)(u_i,v_i),表示 uiu_i 座岛屿和 viv_i 座岛屿关系恶劣。

然后 qq 行,每行两个整数 aia_ibi (aibi)b_i\ (a_i \neq b_i),表示 aia_i 座岛屿想与 bib_i 座岛屿联盟。

输出格式

对于每个提议,如果同意则输出 APPROVE,否则输出 REFUSE

3 1 2
1 2
2 1
1 3
REFUSE
APPROVE
8 3 7
1 2
2 3
3 4
1 2
4 5
5 6
7 8
3 4
1 3
2 4
REFUSE
APPROVE
APPROVE
APPROVE
REFUSE
APPROVE
APPROVE

提示

本题采用捆绑测试

  • Subtask 1(15 points):2n5002 \leq n \leq 5001m1051 \leq m \leq 10^51q1051 \leq q \leq 10^5
  • Subtask 2(17 points):2n1052 \leq n \leq 10^51m2501 \leq m \leq 2501q1051 \leq q \leq 10^5
  • Subtask 3(20 points):2n50002 \leq n \leq 50001m50001 \leq m \leq 50001q1051 \leq q \leq 10^5
  • Subtask 4(23 points):保证不同意提议的情况最多只有一次。
  • Subtask 5(25 points):无特殊限制。

对于所有测试数据,2n1052 \le n \le 10^51m,q1051 \le m,q \le 10^51ai,bin1 \le a_i,b_i \le n,且每对 (ai,bi)(a_i,b_i) 互不相同。