#P14329. [JOI2022 预选赛 R2] 交易计划 / Trade Plan

[JOI2022 预选赛 R2] 交易计划 / Trade Plan

题目描述

JOI 合众国有 N N 个城市,编号从 1 1 N N ;另有 M M 条道路,编号从 1 1 M M 。第 i i 条道路(1iM 1 \le i \le M )双向连接城市 Ui U_i 与城市 Vi V_i

JOI 合众国由 K K 个州组成,各州编号从 1 1 K K 。城市 j j 1jN 1 \le j \le N )属于州 Sj S_j 。此外,每个州至少包含一个城市。

JOI 合众国的产业大臣 K 理事长计划进行 Q Q 次交易。第 k k 次交易(1kQ 1 \le k \le Q )是指将特产品从城市 Ak A_k 运送到城市 Bk B_k ,途中可经过若干道路或城市。但仅允许经过属于州 SAk S_{A_k} 或州 SBk S_{B_k} 的城市(当 SAk=SBk S_{A_k} = S_{B_k} 时,仅允许经过州 SAk S_{A_k} 的城市);若路径经过不属于这两个州的任何城市,特产品将被窃取。

K 理事长希望调查是否存在一条运输路径,使得特产品在交易过程中不被窃取。当给出城市与道路的布局、州的归属信息以及各次交易的信息时,请编写程序,判断每次交易是否可能安全完成。

输入格式

输入通过标准输入以如下格式给出:

N N M M K K

U1 U_1 V1 V_1

U2 U_2 V2 V_2

\vdots

UM U_M VM V_M

S1 S_1 S2 S_2 \cdots SN S_N

Q Q

A1 A_1 B1 B_1

A2 A_2 B2 B_2

\vdots

AQ A_Q BQ B_Q

输出格式

在标准输出中,输出 Q Q 行。第 k k 行(1kQ 1 \le k \le Q )应输出:若第 k k 次交易中特产品可以安全送达,则输出 1 1 ;否则输出 0 0

4 3 2
1 2
2 3
3 4
1 2 1 2
3
1 2
1 3
1 4
1
0
1
4 2 1
1 3
2 4
1 1 1 1
4
1 2
1 3
2 3
2 4
0
1
0
1
6 5 3
1 2
3 4
5 6
1 4
3 5
1 1 2 2 3 3
4
1 4
1 5
3 6
4 3
1
0
1
1
8 11 3
4 8
1 8
4 6
3 5
2 4
7 8
6 7
3 4
1 4
2 3
3 8
2 3 1 1 2 1 2 1
10
8 2
8 1
2 7
5 3
5 7
4 8
1 8
6 8
6 5
1 8
1
1
0
1
0
1
1
1
1
1

提示

样例 1 解释

  • 第 1 次交易是指:仅通过属于州 1 或州 2 的城市,将特产品从城市 1 运送到城市 2。由于路径“城市 1 → 城市 2”满足条件,因此输出 1 1
  • 第 2 次交易是指:仅通过属于州 1 的城市,将特产品从城市 1 运送到城市 3。不存在满足条件的运输路径,因此输出 0 0
  • 第 3 次交易是指:仅通过属于州 1 或州 2 的城市,将特产品从城市 1 运送到城市 4。由于路径“城市 1 → 城市 2 → 城市 3 → 城市 4”满足条件,因此输出 1 1

本输入样例满足子任务 1、3、4 的约束条件。

数据范围

  • 2N400000 2 \le N \le 400\,000
  • 1M400000 1 \le M \le 400\,000
  • 1KN 1 \le K \le N
  • 1Ui<ViN 1 \le U_i < V_i \le N 1iM 1 \le i \le M )。
  • (Ui,Vi)(Uj,Vj) (U_i, V_i) \ne (U_j, V_j) 1i<jM 1 \le i < j \le M )。
  • 1SjK 1 \le S_j \le K 1jN 1 \le j \le N )。
  • 对于任意 l l 1lK 1 \le l \le K ),均存在某个 j j 1jN 1 \le j \le N ),使得 Sj=l S_j = l
  • 1Q400000 1 \le Q \le 400\,000
  • 1AkN 1 \le A_k \le N 1kQ 1 \le k \le Q )。
  • 1BkN 1 \le B_k \le N 1kQ 1 \le k \le Q )。
  • AkBk A_k \ne B_k 1kQ 1 \le k \le Q )。
  • 所有输入值均为整数。

子任务

  1. (5 分)N1000 N \le 1\,000 M1000 M \le 1\,000 Q1000 Q \le 1\,000
  2. (11 分)对于每个州 l l 1lK 1 \le l \le K ),属于该州的所有城市仅可通过属于该州的道路和城市相互连通。
  3. (42 分)N80000 N \le 80\,000 M80000 M \le 80\,000 Q80000 Q \le 80\,000
  4. (42 分)无额外约束。

由于没有明确的 Subtask2 的测试点,通过子任务 1、3、4 后会为分数自动增加 11 分。

翻译由 Qwen3-235B 完成