AT_joi2024ho_e.道路網の整備 2 (Road Service 2)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 市有一个由无限延伸的 H 条东西向道路和 W 条南北向道路组成的网格状道路系统。北侧第 i 条(1⩽i⩽H)东西向道路和西侧第 j 条(1⩽j⩽W)南北向道路的交点称为交叉点 (i,j)。
当前,部分道路由于维护不善而封闭,具体的封闭情况如下:
- 北侧第 i 条(1⩽i⩽H)东西向道路上,连接交叉点 (i,j) 和 (i,j+1) 的路段(1⩽j⩽W−1),在 Ai,j=0 时封闭,Ai,j=1 时可通行。
- 西侧第 j 条(1⩽j⩽W)南北向道路上,连接交叉点 (i,j) 和 (i+1,j) 的路段(1⩽i⩽H−1),在 Bi,j=0 时封闭,Bi,j=1 时可通行。
- 其他部分,即 H×W 个交叉点以外的部分全部封闭。
JOI 市的市长 K 理事长打算拟定这个道路网的整修计划。一次整修计划包含 0 次或多次整修。每进行一次整修,选择一个整数 i (1⩽i⩽H),对于所有 1⩽j⩽W−1,会将北侧第 i 条东西向道路上,连接交叉点 (i,j) 和 (i,j+1) 的所有路段(如果封闭,则开放),该操作总共需要 Ci 天。这里 Ci 为 1 或 2。
同一整修计划中的多个整修不能同时进行。因此,执行整修计划所需的天数为所有包含的整修的天数之和。
为了先保证城市重要机构之间的流通,K 理事长向你提出了 Q 个问题。第 k 个(1⩽k⩽Q)问题如下:
是否存在一个整修计划,使得 Tk 个交叉点 (Xk,1,Yk,1),(Xk,2,Yk,2),…,(Xk,Tk,Yk,Tk) 之间能够通过通畅的道路互相到达?如果存在,执行这样整修计划所需的最短天数是多少?
给定道路网的封闭状况、东西向每条道路的整修所需天数,以及所有 K 理事长的问题,请你编写程序输出所有问题的答案。
输入格式
输入通过标准输入按如下格式给出:
H W Q A1,1A1,2⋯A1,W−1 A2,1A2,2⋯A2,W−1 ⋮ AH,1AH,2⋯AH,W−1 B1,1B1,2⋯B1,W B2,1B2,2⋯B2,W ⋮ BH−1,1BH−1,2⋯BH−1,W C1 C2 ⋯ CH Query1 Query2 ⋮ QueryQ
每个 Queryk(1⩽k⩽Q)的格式如下:
Tk Xk,1 Yk,1 Xk,2 Yk,2 ⋮ Xk,Tk Yk,Tk
输出格式
请按顺序输出 Q 行。第 k 行(1⩽k⩽Q)输出:如果存在能够使 Tk 个交叉点 (Xk,1,Yk,1),(Xk,2,Yk,2),…,(Xk,Tk,Yk,Tk) 互相连通的整修计划,则输出所需天数的最小值;否则输出 -1。
输入输出样例
输入#1
4 3 4 00 00 00 00 100 001 000 1 1 1 1 2 1 1 3 3 2 3 1 1 2 2 2 3 3 3 2 4 2 3 2
输出#1
1 3 0 -1
输入#2
4 4 4 100 110 011 010 0010 1001 0101 1 1 1 1 2 1 2 3 1 2 1 4 4 1 2 3 2 1 2 2 4 3 1 1
输出#2
1 3 2 2
输入#3
7 3 3 10 00 00 10 00 01 00 110 101 011 001 110 100 1 1 1 1 1 1 1 3 7 2 3 1 3 2 3 3 1 6 3 2 3 7 2 2 1 3 7 3 5 2 1 2 7 2 3 1
输出#3
3 2 4
输入#4
4 3 3 00 00 10 00 110 011 001 1 2 2 2 2 1 1 3 1 2 4 3 2 1 2 4 1 1 3
输出#4
1 2 5
输入#5
7 3 2 01 00 00 00 00 10 01 100 110 011 001 101 001 1 1 2 1 1 2 2 3 7 2 1 3 5 1 5 1 1 2 2 3 1 2 3 4 2
输出#5
4 1
说明/提示
子任务
- (10 分) Ci=1(1⩽i⩽H),Q⩽5,Tk=2(1⩽k⩽Q),Ai,j=0(1⩽i⩽H,1⩽j⩽W−1)。
- (6 分) Ci=1(1⩽i⩽H),Q⩽5,Tk=2(1⩽k⩽Q)。
- (15 分) Ci=1(1⩽i⩽H),Q⩽5。
- (11 分) Ci=1(1⩽i⩽H),Tk=2(1⩽k⩽Q)。
- (6 分) Ci=1(1⩽i⩽H)。
- (12 分) Q⩽5。
- (26 分) Tk=2(1⩽k⩽Q)。
- (14 分) 无额外限制。
样例解释 1
以下是当前的道路封闭状况。灰色表示封闭,蓝色表示可通行。

- 第 1 个询问中,若选择 i=2 进行整修,则整修后的道路状况如下图所示,交叉点 (1,1)、(3,3) 可以互相连通。

这个仅包含一次整修的整修计划需要 1 天,且不存在更短时间能让这两点连通的方案,因此输出 1。 - 第 2 个询问,若对 i=1,2,3 依次进行三次整修,可以让 (3,1)、(1,2) 互通。此时所需天数为 3,不存在更优答案,因此输出 3。
- 第 3 个询问,两点 (2,3),(3,3) 已经连通,无需整修,输出 0。
- 第 4 个询问,无法让 (4,2),(3,2) 连通,因此输出 −1。
本例输入满足子任务 1,2,3,4,5,6,7,8 的限制。
样例解释 2
本例输入满足子任务 2,3,4,5,6,7,8 的限制。
样例解释 3
本例输入满足子任务 3,5,6,8 的限制。
样例解释 4
本例输入满足子任务 6,7,8 的限制。
样例解释 5
本例输入满足子任务 6,8 的限制。
数据范围
- 2⩽H。
- 2⩽W。
- H×W⩽1000000。
- 1⩽Q⩽100000。
- Ai,j 为 0 或 1,1⩽i⩽H,1⩽j⩽W−1。
- Bi,j 为 0 或 1,1⩽i⩽H−1,1⩽j⩽W。
- Ci 为 1 或 2,1⩽i⩽H。
- 2⩽Tk,1⩽k⩽Q。
- T1+T2+⋯+TQ⩽200000。
- 1⩽Xk,l⩽H,1⩽k⩽Q,1⩽l⩽Tk。
- 1⩽Yk,l⩽W,1⩽k⩽Q,1⩽l⩽Tk。
- (Xk,1,Yk,1),…,(Xk,Tk,Yk,Tk) 互不相同(1⩽k⩽Q)。
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?