#HK5113. 「JOISC 2013 Day1」通信干扰

「JOISC 2013 Day1」通信干扰

题目描述

题目译自 JOISC 2013 Day1 T3 「通信妨害

JOI 国是一个位于平面上的国家,境内有 NN 个村庄,分别编号为 11NN。你可以将村庄 ii 视为位于坐标 (i,0)(i, 0) 的点。目前,JOI 国计划铺设连接各个村庄的通信线路。为了应对可能的故障,通信线路将分为两套系统,分别称为系统 11 和系统 22

对于系统 kk (k=1,2)(k=1, 2),设有 MkM_{k} 个通信枢纽,以及 N+Mk1N + M_{k} - 1 条通信线路。系统 kk 的枢纽编号为 11MkM_{k},枢纽 jj 位于坐标 (Xkj,Ykj)(X_{kj}, Y_{kj})。系统 kk 的每条线路连接一个村庄与系统 kk 的枢纽,或连接系统 kk 的两个枢纽,视为连接两端的线段。题目保证任意两条线路除了端点外不会相交。系统 11 的枢纽 jjyy 坐标 Y1jY_{1j} 大于 00,而系统 22 的枢纽 jjyy 坐标 Y2jY_{2j} 小于 00

我们说两个地点能够通信,意味着它们通过线路直接或间接相连,即可以通过沿线路移动从一个地点到达另一个地点。无论是仅考虑系统 11 的线路,还是仅考虑系统 22 的线路,任意两个村庄或枢纽之间都能通信。

下图展示了通信线路的示例,灰色圆圈代表系统 11 的枢纽,黑色圆圈代表系统 22 的枢纽,白色圆圈代表村庄。

在制定计划时,JOI 国希望评估通信系统在遭受外部攻击时的稳定性。外部攻击由两个参数 A,BA, B (A0,B0)(A \geq 0, B \leq 0) 定义,表示摧毁所有 yy 坐标大于 AA 的枢纽和所有 yy 坐标小于 BB 的枢纽。枢纽被摧毁后,无法通过该枢纽进行通信。

给定村庄和两套系统的信息,以及 QQ 个查询,每个查询 qq 提供一个整数 AqA_{q},表示摧毁所有 yy 坐标大于 AqA_{q} 的枢纽。你需要回答:在此情况下,yy 坐标小于多少的枢纽可以被摧毁,同时仍保证所有村庄之间能够通信。换言之,求最大的整数 BqB_{q} (Bq0)(B_{q} \leq 0),使得摧毁所有 yy 坐标大于 AqA_{q} 的枢纽和所有 yy 坐标小于 BqB_{q} 的枢纽后,仍然能保持所有村庄之间的通信。

输入格式

从标准输入中读取以下数据:

  • 第一行包含四个整数 N,M1,M2,QN, M_{1}, M_{2}, Q,用空格分隔。
  • 接下来 M1+(N+M11)M_{1} + (N + M_{1} - 1) 行描述系统 11 的信息:
    • M1M_{1} 行中,第 ii (1iM1)(1 \leq i \leq M_{1}) 行包含两个整数 X1i,Y1iX_{1i}, Y_{1i}
    • 接着 N+M11N + M_{1} - 1 行中,第 ii (1iN+M11)(1 \leq i \leq N + M_{1} - 1) 行包含三个整数 T1i,C1i,D1iT_{1i}, C_{1i}, D_{1i} (T1i=1,2)(T_{1i}=1, 2),表示线路 ii 的信息:
      • T1i=1T_{1i}=1,线路 ii 连接村庄 C1iC_{1i} 和枢纽 D1iD_{1i} (1C1iN,1D1iM1)(1 \leq C_{1i} \leq N, 1 \leq D_{1i} \leq M_{1})
      • T1i=2T_{1i}=2,线路 ii 连接枢纽 C1iC_{1i} 和枢纽 D1iD_{1i} $(1 \leq C_{1i}, D_{1i} \leq M_{1}, C_{1i} \neq D_{1i})$。
  • 接下来 M2+(N+M21)M_{2} + (N + M_{2} - 1) 行描述系统 22 的信息:
    • M2M_{2} 行中,第 ii (1iM2)(1 \leq i \leq M_{2}) 行包含两个整数 X2i,Y2iX_{2i}, Y_{2i}
    • 接着 N+M21N + M_{2} - 1 行中,第 ii (1iN+M21)(1 \leq i \leq N + M_{2} - 1) 行包含三个整数 T2i,C2i,D2iT_{2i}, C_{2i}, D_{2i} (T2i=1,2)(T_{2i}=1,2),表示线路 ii 的信息:
      • T2i=1T_{2i}=1,线路 ii 连接村庄 C2iC_{2i} 和枢纽 D2iD_{2i} (1C2iN,1D2iM2)(1 \leq C_{2i} \leq N, 1 \leq D_{2i} \leq M_{2})
      • T2i=2T_{2i}=2,线路 ii 连接枢纽 C2iC_{2i} 和枢纽 D2iD_{2i} $(1 \leq C_{2i}, D_{2i} \leq M_{2}, C_{2i} \neq D_{2i})$。
  • 最后 QQ 行中,第 ii (1iQ)(1 \leq i \leq Q) 行包含一个整数 AiA_{i}

输出格式

在标准输出中输出 QQ 行,第 ii (1iQ)(1 \leq i \leq Q) 行输出一个整数 BiB_{i},作为查询 ii 的答案。注意,若答案为 00,不得输出 0-0

4 3 3 1
1 1
3 2
2 3
1 1 1
1 2 1
1 3 2
1 4 2
2 1 3
2 2 3
3 -1
2 -2
1 -3
1 1 3
1 2 2
1 3 1
1 4 1
2 1 2
2 2 3
2

-2

此输入样例对应问题描述中的例 1。

6 4 5 4
2 1
4 1
3 3
5 2
1 1 1
1 2 1
1 3 2
1 4 2
2 2 4
1 5 4
1 6 4
2 1 3
2 4 3
3 -3
5 -1
2 -2
2 -1
4 -2
1 2 4
1 3 4
1 1 4
2 1 3
1 5 2
1 6 2
1 4 5
2 2 5
1 3 1
2 5 1
3
1
2
0

0
-2
-1
-3

此输入样例对应问题描述中的例 2。

数据范围与提示

对于所有输入数据,满足:

  • 1N,M1,M21000001 \leq N, M_{1}, M_{2} \leq 100000
  • 1000000000X1i1000000000-1000000000 \leq X_{1i} \leq 1000000000 (1iM1)(1 \leq i \leq M_{1})
  • 1000000000X2i1000000000-1000000000 \leq X_{2i} \leq 1000000000 (1iM2)(1 \leq i \leq M_{2})
  • 1Y1i10000000001 \leq Y_{1i} \leq 1000000000 (1iM1)(1 \leq i \leq M_{1})
  • 1000000000Y2i1-1000000000 \leq Y_{2i} \leq -1 (1iM2(1 \leq i \leq M_{2}
  • X1iX1jX_{1i} \neq X_{1j}Y1iY1jY_{1i} \neq Y_{1j} (1i,jM1,ij)(1 \leq i, j \leq M_{1}, i \neq j)
  • X2iX2jX_{2i} \neq X_{2j}Y2iY2jY_{2i} \neq Y_{2j} (1i,jM2,ij)(1 \leq i, j \leq M_{2}, i \neq j)
  • 1Q1000001 \leq Q \leq 100000
  • 0Ai10000000000 \leq A_{i} \leq 1000000000 (1iQ)(1 \leq i \leq Q)
  • 任意两条线路除了端点外不共点。
  • 仅考虑系统 11 的线路或仅考虑系统 22 的线路时,任意两个村庄及枢纽都能通信。

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 2020 N,M1,M21000N, M_{1}, M_{2} \leq 1000, Q1000Q \leq 1000
22 8080 无附加限制