传统题 1000ms 256MiB

修路

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

修路

题目描述

奶龙有一个 nn 个点 mm 条边的无向图,每条边连接顶点 ui,viu_i,v_i ,距离为 wiw_i

奶龙现在计划在原无向图基础上, 再修 kk 条双向道路,这些路径起点都是 11 号点,终点是 11 号点外的其他顶点。假设修了这些路后,从 11 号点到其他点的最短距离为 disidis_i ,奶龙想知道,最多可以少修几条路,少修哪些路,使得从 11 号点到其他点的最短距离仍然为 disidis_i

输入格式

第一行三个整数 n,m,kn,m,k 表示点数,边数,奶龙原本计划修的路数。

接下来 mm 行,每行三个整数 ui,vi,wiu_i,v_i,w_i ,表示一条边的两个端点以及权值。

接下来 kk 行,每行两个整数 ti,dit_i,d_i ,表示计划修从 11 号点到 tit_i 号点的一条路,长度为 did_i

输出格式

第一行一个整数 cc 表示最多可以少修的路的数量。

第二行 cc 个整数表示这些少修的路的编号,编号从小到大输出,如果存在多种方案,请输出任意方案。

样例 #1

样例输入 #1

3 2 2
1 2 3
2 3 1
2 2
3 3

样例输出 #1

1
2

样例 #2

样例输入 #2

9 10 4
1 2 8
1 3 12
2 4 13
1 5 7
2 6 5
6 7 11
4 8 4
8 9 10
1 4 5
2 3 20
4 2
5 8
6 13
9 1

样例输出 #2

2
2 3

提示

对于样例1,d1=0,d2=2,d3=3d_1=0,d_2=2,d_3=3 ,删除第 22 条边之后距离不变。

对于 20%20\% 的数据,满足 n10,m20n \le 10,m \le 20

对于另外 10%10\% 的数据,满足 n100,m200n \le 100,m \le 200

对于另外 20%20\% 的数据,满足 n1000,m2000n \le 1000,m \le 2000

对于另外 20%20\% 的数据,满足 n100000,m200000,k=1n \le 100000,m \le 200000,k=1

对于全部数据,满足 $1\le n \le 100000,1 \le m \le 200000,0 \le k \lt n,1 \le w_i,d_i \le 10^9,1 \le u_i,v_i \le n,u_i \neq v_i,t_i \neq 1$ 。

输入保证图联通,即从 11 号点出发能到达任何点,而且 tit_i 互不相同。

[YDRS#011 + YDRB#005] 欢欢喜喜过大年 · 2025 云斗新年挑战赛

未参加
状态
已结束
规则
IOI(严格)
题目
9
开始于
2025-1-25 9:30
结束于
2025-1-28 22:30
持续时间
6 小时
主持人
参赛人数
184