P14432 [JOISC 2013] 通信阻塞 / Communication Jamming

题目描述

JOI 国位于平面上。国内有 $N$ 个村庄,村庄编号为 $1$ 到 $N$。村庄 $i$ 被视为位于坐标 $(i,0)$ 的点。目前,JOI 国计划建设连接村庄的通信线路。为应对故障,计划建设两套系统,分别称为 **系统 1** 和 **系统 2**。 系统 $k$ 包含 $M_k$ 个枢纽和 $N + M_k - 1$ 条线路。系统 $k$ 的枢纽编号为 $1$ 到 $M_k$,枢纽 $j$ 被视为位于坐标 $(X_{kj}, Y_{kj})$ 的点。系统 $k$ 的每条线路连接村庄与系统 $k$ 的枢纽,或连接系统 $k$ 的枢纽之间。每条线路被视为连接两端的线段。保证任意两条线路除端点外没有其他公共点。系统 $1$ 的枢纽 $j$ 的 $y$ 坐标 $Y_{1j}$ 大于 $0$;系统 $2$ 的枢纽 $j$ 的 $y$ 坐标 $Y_{2j}$ 小于 $0$。 若两个地点能通过线路间接连接,则称它们可以通信。即,若能通过沿线路反复移动从一个地点到达另一个地点,则这两个地点可以通信。仅考虑系统 $1$ 的线路或仅考虑系统 $2$ 的线路时,任意两个村庄及枢纽均可以通信。 下图是通信线路的示例。灰色圆点表示系统 $1$ 的枢纽,黑色圆点表示系统 $2$ 的枢纽,白色圆点表示村庄。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/xwbor34c.png) 左图对应样例 1,右图对应样例 2 ::: 在计划讨论中,需研究在外部攻击下通信的可持续性。外部攻击由两个数 $A$, $B$($A \geq 0$, $B \leq 0$)描述,假设其会破坏所有 $y$ 坐标大于 $A$ 的枢纽和所有 $y$ 坐标小于 $B$ 的枢纽。枢纽被破坏后,经其转发的通信将无法进行。 ### 任务 给定村庄及各系统的信息,同时给出 $Q$ 个查询。每个查询 $q$ 由一个整数 $A_q$ 表示,意味着所有 $y$ 坐标大于 $A_q$ 的枢纽将被破坏。对于每个查询,求一个整数 $B_q$($B_q \leq 0$),使得即使破坏所有 $y$ 坐标大于 $A_q$ 的枢纽和所有 $y$ 坐标小于 $B_q$ 的枢纽,所有村庄之间仍能保持通信,且 $B_q$ 是满足条件的最大值。

输入格式

从标准输入读取以下输入数据: - 第 $1$ 行包含四个以空格分隔的整数 $N, M_1, M_2, Q$。 - 接下来的 $M_1 + (N + M_1 - 1)$ 行描述系统 $1$ 的信息: - 前 $M_1$ 行中,第 $i$ 行($1 \leq i \leq M_1$)包含两个整数 $X_{1i}, Y_{1i}$。 - 后续 $N + M_1 - 1$ 行中,第 $i$ 行($1 \leq i \leq N + M_1 - 1$)包含三个整数 $T_{1i}, C_{1i}, D_{1i}$($T_{1i} = 1, 2$): - 若 $T_{1i} = 1$,则线路 $i$ 连接村庄 $C_{1i}$ 与枢纽 $D_{1i}$($1 \leq C_{1i} \leq N$,$1 \leq D_{1i} \leq M_1$)。 - 若 $T_{1i} = 2$,则线路 $i$ 连接枢纽 $C_{1i}$ 与枢纽 $D_{1i}$($1 \leq C_{1i}, D_{1i} \leq M_1$,且 $C_{1i} \neq D_{1i}$)。 - 接下来的 $M_2 + (N + M_2 - 1)$ 行描述系统 $2$ 的信息: - 前 $M_2$ 行中,第 $i$ 行($1 \leq i \leq M_2$)包含两个整数 $X_{2i}, Y_{2i}$。 - 后续 $N + M_2 - 1$ 行中,第 $i$ 行($1 \leq i \leq N + M_2 - 1$)包含三个整数 $T_{2i}, C_{2i}, D_{2i}$($T_{2i} = 1, 2$): - 若 $T_{2i} = 1$,则线路 $i$ 连接村庄 $C_{2i}$ 与枢纽 $D_{2i}$($1 \leq C_{2i} \leq N$,$1 \leq D_{2i} \leq M_2$)。 - 若 $T_{2i} = 2$,则线路 $i$ 连接枢纽 $C_{2i}$ 与枢纽 $D_{2i}$($1 \leq C_{2i}, D_{2i} \leq M_2$,且 $C_{2i} \neq D_{2i}$)。 - 接下来的 $Q$ 行中,第 $i$ 行($1 \leq i \leq Q$)包含一个整数 $A_i$。

输出格式

向标准输出输出 $Q$ 行。第 $i$ 行($1 \leq i \leq Q$)输出一个整数 $B_i$,表示对查询 $i$ 的答案。若答案为 $0$,不得输出 $-0$。

说明/提示

### 限制 所有输入数据满足以下条件: - $1 \leq N, M_1, M_2 \leq 100\,000$ - $-1\,000\,000\,000 \leq X_{1i} \leq 1\,000\,000\,000$ ($1 \leq i \leq M_1$) - $-1\,000\,000\,000 \leq X_{2i} \leq 1\,000\,000\,000$ ($1 \leq i \leq M_2$) - $1 \leq Y_{1i} \leq 1\,000\,000\,000$ ($1 \leq i \leq M_1$) - $-1\,000\,000\,000 \leq Y_{2i} \leq -1$ ($1 \leq i \leq M_2$) - $X_{1i} \neq X_{1j}$ 或 $Y_{1i} \neq Y_{1j}$ ($1 \leq i,j \leq M_1$ 且 $i \neq j$) - $X_{2i} \neq X_{2j}$ 或 $Y_{2i} \neq Y_{2j}$ ($1 \leq i,j \leq M_2$ 且 $i \neq j$) - $1 \leq Q \leq 100\,000$ - $0 \leq A_i \leq 1\,000\,000\,000$ ($1 \leq i \leq Q$) - 任意两条线路除端点外没有其他公共点 - 仅考虑系统 $1$ 的线路或仅考虑系统 $2$ 的线路时,任意两个村庄及枢纽均可以通信 ### 子任务 #### 子任务 1 [20 分] 满足以下条件: - $N, M_1, M_2 \leq 1\,000$ - $Q \leq 1\,000$ #### 子任务 2 [80 分] 无额外限制。 翻译由 DeepSeek V3 完成