#P15920. [Roi2021]旅行博主

    ID: 15131 传统题 3000ms 1024MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600图论最小生成树并查集线段树

[Roi2021]旅行博主

题目描述

Jan 和 Tatiana 决定成为旅行博主,发布他们在国家各城市旅行的视频。

这个国家有 nn 个城市,编号为 11nn。城市 11 是首都。城市之间有 mm 条双向道路,编号为 11mm。每条道路连接两个不同城市,同一对城市之间可以有多条不同道路。保证从任意城市都可以通过道路到达任意其他城市。

旅行者计划从首都出发,到某个其他城市旅行,但还没有决定终点。到城市 kk 的路线由城市序列

s1,s2,,sqs_1,s_2,\ldots,s_q

和道路序列

r1,r2,,rq1r_1,r_2,\ldots,r_{q-1}

组成,满足:

  • s1=1s_1=1sq=ks_q=k
  • 道路 rir_i 连接城市 sis_isi+1s_{i+1}
  • 他们不会经过同一条道路两次,因此所有 rir_i 互不相同。

允许多次经过同一个城市,包括起点城市 11 和终点城市 kk

对每条道路,Jan 和 Tatiana 预先估计了沿这条道路拍摄得到的视频长度。第 ii 条道路的视频长度为 tit_i

在旅行过程中,他们二人各会选择路线中的一条道路拍视频:

  • Jan 喜欢短视频,因此选择路线中 tit_i 最小的道路;
  • Tatiana 喜欢长视频,因此选择路线中 tit_i 最大的道路。

两段视频总长度为:

$$\min_{1\le i\le q-1} t_{r_i}+\max_{1\le i\le q-1} t_{r_i}$$

他们想让视频总长度尽量短。请对每个终点城市 kk,计算从城市 11 到城市 kk 的所有合法路线中,上述总长度的最小值。

输入格式

第一行包含两个整数 n,mn,m,表示城市数和道路数。

接下来 mm 行,每行包含三个整数 ui,vi,tiu_i,v_i,t_i,表示第 ii 条道路连接城市 uiu_iviv_i,该道路的视频长度为 tit_i

保证整个图连通。

输出格式

对每个 k=2,3,,nk=2,3,\ldots,n,输出一行,表示以城市 kk 为终点时的最小视频总长度。

数据范围

2n300000,1m3000002\le n\le 300000, \qquad 1\le m\le 300000 $$1\le u_i,v_i\le n, \qquad u_i\ne v_i, \qquad 0\le t_i\le 10^9$$

样例 1 输入

3 3
1 2 2
1 3 1
2 3 1

样例 1 输出

2
2

样例 2 输入

7 10
1 2 2
1 2 8
2 3 3
3 4 5
3 5 4
4 5 4
6 5 7
6 4 4
1 7 6
6 7 9

样例 2 输出

4
5
6
6
6
10

样例 3 输入

4 4
1 2 2
3 2 0
2 4 3
4 3 1

样例 3 输出

3
2
2

说明

第一个样例中,可以取如下最优路线:

  • 到城市 2:1t=13t=121\xrightarrow{t=1}3\xrightarrow{t=1}2,视频长度和为 1+1=21+1=2
  • 到城市 3:1t=131\xrightarrow{t=1}3,视频长度和为 1+1=21+1=2

第二个样例中可能的最优路线包括:

  • 到城市 2:1t=221\xrightarrow{t=2}2,长度和为 2+2=42+2=4
  • 到城市 3:1t=22t=331\xrightarrow{t=2}2\xrightarrow{t=3}3,长度和为 2+3=52+3=5
  • 到城市 4:$1\xrightarrow{t=2}2\xrightarrow{t=3}3\xrightarrow{t=4}5\xrightarrow{t=4}4$,长度和为 2+4=62+4=6
  • 到城市 5:$1\xrightarrow{t=2}2\xrightarrow{t=3}3\xrightarrow{t=4}5$,长度和为 2+4=62+4=6
  • 到城市 6:$1\xrightarrow{t=2}2\xrightarrow{t=3}3\xrightarrow{t=4}5\xrightarrow{t=4}4\xrightarrow{t=4}6$,长度和为 2+4=62+4=6
  • 到城市 7:$1\xrightarrow{t=2}2\xrightarrow{t=8}1\xrightarrow{t=6}7$,长度和为 2+8=102+8=10

第三个样例中可能的最优路线包括:

  • 到城市 2:$1\xrightarrow{t=2}2\xrightarrow{t=0}3\xrightarrow{t=1}4\xrightarrow{t=3}2$,长度和为 0+3=30+3=3
  • 到城市 3:1t=22t=031\xrightarrow{t=2}2\xrightarrow{t=0}3,长度和为 0+2=20+2=2
  • 到城市 4:$1\xrightarrow{t=2}2\xrightarrow{t=0}3\xrightarrow{t=1}4$,长度和为 0+2=20+2=2

子任务

子任务 分值 限制 附加限制 依赖 检查信息
1 9 n,m300000n,m\le 300000 m=n1m=n-1 第一处错误
2 17 对所有从城市 1 出发的道路 iiti=0t_i=0
3 12 对所有从城市 1 出发的道路 iiti=109t_i=10^9
4 9 n,m10n,m\le 10 任意一对城市之间至多有一条道路
5 6 n,m20n,m\le 20 4
6 n,m2000n,m\le 2000 对所有道路,$ u_i-v_i =1$
7 9 U, 4-6 第一处错误
8 n5000, m300000n\le 5000,\ m\le 300000 U, 4-7 只显示分数
9 10 n,m300000n,m\le 300000 对所有 aa,城市 aaa+1a+1 之间存在道路;且对任意两条道路 i,ji,j,若 $ u_i-v_i =1
10 14 U, 1-9 只显示分数