#P9598. [JOI Open 2018] 山体滑坡 / Collapse

[JOI Open 2018] 山体滑坡 / Collapse

题目描述

I 先生有一个 CC 天的电缆建设计划。第 (i+1) (0≤i≤C−1)(i+1)\ (0\le i\le C-1)​ 天的计划用三个整数 Ti,Xi,YiT_i,X_i,Y_i 表示,分别表示:

  • 如果 Ti=0T_i=0,他们会架设一段连接城镇 XiX_i 与城镇 YiY_i 的电缆。保证在第 (i+1)(i+1) 天开始的时候城镇 XiX_i 与城镇 YiY_i 之间没有电缆。
  • 如果 Ti=1T_i=1​,他们会拆除一段连接城镇 XiX_i​ 与城镇 YiY_i​ 的电缆。保证在第 (i+1)(i+1)​ 天开始的时候城镇 XiX_i​ 与城镇 YiY_i​ 之间有电缆。

JOI 国经常发生山体滑坡。如果在城镇 xx 与 x+1 (0≤x≤N−2)x+1\ (0\le x\le N-2)​ 之间发生山体滑坡,则只有连接两端编号均不超过 xx 与编号均不少于 x+1x+1 城镇的电缆可用。在 JOI 国,每当山体滑坡发生,他们就会选择一些城镇建设基站。基站应满足对于任意城镇,都可以通过一些可用的电缆与基站连通。

I 先生在建设阶段就在考虑山体滑坡发生时应建设多少基站。他有 QQ 个问题:第 (j+1)(j+1) 个问题用两个整数 Wj,PjW_j,P_j 表示,表示他想知道在 (Wj+1)(W_j+1) 天结束时,如果在城镇 PjP_j 和 Pj+1P_j+1 之间发生山体滑坡,至少应该建立多少基站。

你作为 I 先生的助理,负责写一个程序去回答 I 先生的问题。

输入格式

LOJ 上为交互题,方便起见,这里使用传统题的方式进行评测。

第一行三个整数 N,C,QN,C,Q。

接下来 CC 行,每行三个整数 Ti,Xi,YiT_i,X_i,Y_i。

接下来 QQ 行,每行两个整数 Wj,PjW_j,P_j。

输出格式

输出 QQ 行,第 j+1j+1 行输出 DjD_j 表示对第 (j+1)(j+1)​ 个问题的回答。

5 8 2
0 0 1
0 1 3
0 2 4
0 4 0
1 1 3
0 0 3
0 1 2
0 4 3
3 1
7 3

3
2

提示

【样例】

考虑有 55 个城镇的情况。接下来用 (x,y)(x,y) 代表连接城镇 xx 和城镇 yy 的电缆。

  • 假设当有四根电缆 (0,1),(1,3),(2,4),(4,0)(0,1),(1,3),(2,4),(4,0) 时,在城镇 11 和 22 之间发生了滑坡。电缆 (1,3)(1,3) 和 (4,0)(4,0) 不可用了,因此可用的电缆是 (0,1)(0,1) 和 (2,4)(2,4)。你需要在城镇 0,2,30,2,3 建立基站。最少要建立基站数为 33。
  • 假设当有六根电缆 (0,1),(0,3),(1,2),(2,4),(4,0)(0, 1), (0, 3), (1, 2), (2, 4), (4, 0)​​ 和 (4,3)(4,3)​​ 时,在城镇 33​​ 和 44​​ 之间发生了滑坡。电缆 (2,4),(4,0)(2,4),(4,0)​​ 和 (4,3)(4,3)​​ 不可用了,因此可用的电缆是 (0,1),(0,3)(0,1),(0,3)​​ 和 (1,2)(1,2)​​。你需要在城镇 00​​ 和 44 建立基站。最少要建立基站数为 22​​。

【数据范围】

本题有四个子任务。子任务分值及附加限制如下表所示:

子任务编号 分值 NN C,QC,Q 附加限制
11 55 2≤N≤5 0002\le N\le 5\ 000 1≤C,Q≤5 0001\le C,Q\le 5\ 000 无
22 3030 2≤N≤100 0002\le N\le 100\ 000 1≤C,Q≤100 0001\le C,Q\le 100\ 000 所有 Pj (0≤j≤Q−1)P_j\ (0\le j\le Q-1) 都相等
33 Ti=0 (0≤i≤C−1)T_i=0\ (0\le i\le C-1)
44 3535 无