题库/S0155

#S0155. 地铁

    传统题 难度: 提高 标签>CSP-SCSP-S 2026Floyd多源最短路分层图与状态扩展最短路
时间限制1000 ms
内存限制256 MiB
通过率100%1 / 1 次提交
题目描述 查看题解 开始编程Alt+E

S0155 · 地铁

退出在线编程模式
提高 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制256 MiB
通过率100%1 / 1 次提交

题目描述

B 市共有 mm 个地铁站,编号为 11 到 mm。每个地铁站都有一个站厅,地铁口与站厅之间有一条通道,往返耗时相同。从第 vv(1≤v≤m1 \le v \le m)个地铁站的地铁口走到站厅需要 wvw_v 的时间。

B 市共有 nn 条地铁线路,编号为 11 到 nn,其中第 ii(1≤i≤n1 \le i \le n)条线路经过 kik_i 个地铁站,编号依次为 ai,1,ai,2,…,ai,kia_{i,1},a_{i,2},\ldots,a_{i,k_i}。在第 ai,ja_{i,j}(1≤j≤ki1 \le j \le k_i)个地铁站处,从站厅走到第 ii 条线路的站台需要 ti,jt_{i,j} 的时间,往返耗时相同。同一条线路不会重复经过同一个地铁站,即 ai,1,ai,2,…,ai,kia_{i,1},a_{i,2},\ldots,a_{i,k_i} 两两不同。

由于空间有限,每个地铁站最多有 dd 条线路经过。此外,B 市的地铁网络是连通的,即任意两个地铁站都可以通过若干条线路互相到达。

小 R 有 qq 个出行计划。对于第 rr(1≤r≤q1 \le r \le q)个出行计划,小 R 将从第 xrx_r 个地铁站的地铁口出发,乘坐地铁到达第 yry_r 个地铁站的地铁口,途中可能进行若干次站内换乘。每次站内换乘都需要从一条线路的站台先走到站厅,再从站厅走到另一条线路的站台。每个出行计划的总步行时间为进出站和换乘的步行时间之和。小 R 希望每个出行计划的总步行时间都尽可能少。

你需要帮助小 R 求出,每个出行计划的最小总步行时间。

输入格式

从标准输入读入数据。

输入的第一行包含五个非负整数 c,n,m,d,qc,n,m,d,q,分别表示测试点编号、地铁线路数、地铁站数、每个地铁站最多被几条线路经过,以及出行计划数。特别地,若 c=0c=0,则该测试点为样例。

输入的第二行包含 mm 个正整数 w1,w2,…,wmw_1,w_2,\ldots,w_m,依次表示从每个地铁站的地铁口走到站厅需要的时间。

输入的第 i+2i+2(1≤i≤n1 \le i \le n)行包含 1+2ki1+2k_i 个正整数,其中第一个正整数为 kik_i,表示第 ii 条线路经过的地铁站数;接下来 2ki2k_i 个正整数为 $a_{i,1},t_{i,1},a_{i,2},t_{i,2},\ldots,a_{i,k_i},t_{i,k_i}$,其中 ai,ja_{i,j} 表示第 ii 条线路经过的第 jj 个地铁站,ti,jt_{i,j} 表示从该地铁站的站厅走到第 ii 条线路的站台需要的时间。

输入的第 r+n+2r+n+2(1≤r≤q1 \le r \le q)行包含两个正整数 xr,yrx_r,y_r,分别表示第 rr 个出行计划的起点和终点所在的地铁站编号。

输出格式

输出到标准输出。

输出 qq 行,其中第 rr(1≤r≤q1 \le r \le q)行包含一个非负整数,表示第 rr 个出行计划的最小总步行时间。

样例 1

0 2 5 20 2
4 1 9 2 5
3 1 5 2 7 4 6
3 2 3 3 4 5 7
1 3
1 2
32
17

样例 2

0 3 7 20 2
8 3 6 1 7 2 9
3 1 4 2 5 5 100
3 2 6 3 1 7 2
4 3 2 5 100 4 6 6 7
1 6
2 3
35
16

提示与数据范围

样例 1 解释

B 市有 55 个地铁站,从各地铁口走到站厅需要的时间分别为 4,1,9,2,54,1,9,2,5。

B 市有 22 条地铁线路,其中第 11 条线路依次经过第 1,2,41,2,4 个地铁站,第 22 条线路依次经过第 2,3,52,3,5 个地铁站,两条线路在第 22 个地铁站相交。

对于第 11 个出行计划,小 R 将从第 11 个地铁站前往第 33 个地铁站:他可以先从第 11 个地铁站的地铁口走到站厅,再走到第 11 条线路的站台,乘坐第 11 条线路到达第 22 个地铁站后走回站厅,再走到第 22 条线路的站台,乘坐第 22 条线路到达第 33 个地铁站后走回站厅,最后走到第 33 个地铁站的地铁口,总步行时间为

$$w_1+t_{1,1}+(t_{1,2}+t_{2,2})+t_{2,3}+w_3=4+5+(7+3)+4+9=32.$$

对于第 22 个出行计划,小 R 将从第 11 个地铁站前往第 22 个地铁站:他可以先从第 11 个地铁站的地铁口走到站厅,再走到第 11 条线路的站台,乘坐第 11 条线路到达第 22 个地铁站后走回站厅,最后走到第 22 个地铁站的地铁口,总步行时间为

w1+t1,1+t1,2+w2=4+5+7+1=17.w_1+t_{1,1}+t_{1,2}+w_2=4+5+7+1=17.

样例 2 解释

B 市有 77 个地铁站与 33 条地铁线路,其中第 11 条线路依次经过第 1,2,51,2,5 个地铁站,第 22 条线路依次经过第 2,3,72,3,7 个地铁站,第 33 条线路依次经过第 3,5,4,63,5,4,6 个地铁站。

对于第 11 个出行计划,小 R 将从第 11 个地铁站前往第 66 个地铁站:他可以先从第 11 个地铁站的地铁口走到站厅,再走到第 11 条线路的站台,乘坐第 11 条线路到达第 22 个地铁站后走回站厅,再走到第 22 条线路的站台,乘坐第 22 条线路到达第 33 个地铁站后走回站厅,再走到第 33 条线路的站台,乘坐第 33 条线路到达第 66 个地铁站后走回站厅,最后走到第 66 个地铁站的地铁口,总步行时间为

$$w_1+t_{1,1}+(t_{1,2}+t_{2,2})+(t_{2,3}+t_{3,3})+t_{3,6}+w_6=35.$$

对于第 22 个出行计划,小 R 将从第 22 个地铁站前往第 33 个地铁站:他可以先从第 22 个地铁站的地铁口走到站厅,再走到第 22 条线路的站台,乘坐第 22 条线路到达第 33 个地铁站后走回站厅,最后走到第 33 个地铁站的地铁口,总步行时间为

w2+t2,2+t2,3+w3=16.w_2+t_{2,2}+t_{2,3}+w_3=16.

数据范围

对于所有测试数据,均有:

  • 0≤c≤250 \le c \le 25,1≤n≤5001 \le n \le 500,1≤m≤∑i=1nki≤5×1051 \le m \le \sum_{i=1}^{n} k_i \le 5 \times 10^5,1≤d≤201 \le d \le 20,1≤q≤1051 \le q \le 10^5;
  • 对于所有 vv(1≤v≤m1 \le v \le m),均有 1≤wv≤1091 \le w_v \le 10^9;
  • 对于所有 ii(1≤i≤n1 \le i \le n),均有 1≤ki≤m1 \le k_i \le m;
  • 对于所有 i,ji,j(1≤i≤n1 \le i \le n,1≤j≤ki1 \le j \le k_i),均有 1≤ai,j≤m1 \le a_{i,j} \le m,1≤ti,j≤1091 \le t_{i,j} \le 10^9;
  • 对于所有 ii(1≤i≤n1 \le i \le n),均有 ai,1,ai,2,…,ai,kia_{i,1},a_{i,2},\ldots,a_{i,k_i} 两两不同;
  • 对于所有 vv(1≤v≤m1 \le v \le m),经过第 vv 个地铁站的线路数均不超过 dd;
  • 任意两个地铁站都可以通过若干条线路互相到达;
  • 对于所有 rr(1≤r≤q1 \le r \le q),均有 1≤xr,yr≤m1 \le x_r,y_r \le m,且 xr≠yrx_r \ne y_r。
测试点编号 n≤n \le ∑i=1nki≤\sum_{i=1}^{n} k_i \le d≤d \le q≤q \le 特殊性质
1∼31 \sim 3 33 1010 2020 1010 无
4∼64 \sim 6 5050 300300 200200
7,87,8 200200 400400 A
9∼119 \sim 11 500500 10001000 10510^5
12∼1512 \sim 15 2×1042 \times 10^4 20002000 B
16∼1916 \sim 19 5×1055 \times 10^5 10510^5
20,2120,21 22 无
22,2322,23 500500 22
24,2524,25 2020

特殊性质 A:每条线路至多经过 22 个地铁站,即对于所有 ii(1≤i≤n1 \le i \le n),均有 ki≤2k_i \le 2。

特殊性质 B:对于所有线路经过的所有地铁站,从站厅走到对应线路站台的步行时间都相同,即存在正整数 TT,使得对于所有 i,ji,j(1≤i≤n1 \le i \le n,1≤j≤ki1 \le j \le k_i),均有 ti,j=Tt_{i,j}=T。

来源说明

CSP-S 2026 第二轮第2题。题面据洛谷 P17832 民间数据自测整理,来源:CSP-S 2026 自测。本地采用标准输入输出与256MB内存限制,每题20个自建训练测试点、每点5分。测试数据非CCF官方数据,不复现原赛测试点评分;原选手目录外部大样例未随本包提供。

题目信息

#2333
100%

1 次通过 · 1 次提交

练习难度 提高
时间限制
1000ms
内存限制
256MiB
上传者