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

[JOI Open 2018] 山体滑坡

题目描述

I 先生有一个 CC 天的电缆建设计划。第 (i+1) (0iC1)(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 国经常发生山体滑坡。如果在城镇 xxx+1 (0xN2)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_jPj+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) 时,在城镇 1122 之间发生了滑坡。电缆 (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 2N5 0002\le N\le 5\ 000 1C,Q5 0001\le C,Q\le 5\ 000
22 3030 2N100 0002\le N\le 100\ 000 1C,Q100 0001\le C,Q\le 100\ 000 所有 Pj (0jQ1)P_j\ (0\le j\le Q-1) 都相等
33 Ti=0 (0iC1)T_i=0\ (0\le i\le C-1)
44 3535