D. 徐老师的最短路

    传统题 1500ms 512MiB

徐老师的最短路

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

题目描述

徐老师最近在复习最短路相关的算法——DijkstraDijkstra和 SpfaSpfa

最短路相关的题目往往会给出 nn 个节点,在这 nn 个节点之间存在 mm 条 单向边

其中第 ii 条边可以用 ui,vi,wiu_i,v_i,w_i 描述,表示这条边从 uiu_i 号节点出发,到达 viv_i 号节点,边权值为 wiw_i

最终题目会询问从 11 号点到达 nn 号点的所有路径中,边权总和最小是多少。

但是徐老师觉得这样的最短路问题太老派了,于是他决定结合一下新的知识,出一个 融合题

于是徐老师决定,将每条边的边权修改为 字符串

例如徐老师如果依次经过边权分为别为 aa,bb,acaa,bb,ac 的边,那么这条路径的权值 disdis 即为 dis="aa"+"bb"+"ac"="aabbac"

现在徐老师想知道,对于给定的一个图,徐老师对于从 11 号节点出发到达 nn 号节点的最短路提出了两个问题:

  1. 字典序最小的路径权值是多少?
  2. 长度最短的路径权值是多少?(如果存在多条长度最短的路径权值,则选择字典序最小的路径权值)

P.S. 对于两个字符串 s,ts, t,我们称 ss 的字典序比 tt 小,当且仅当 ∃i∈[1,max⁡(∣s∣,∣t∣)]\exists i \in [1, \max(|s|, |t|)] 满足 $s_1 = t_1, s_2 = t_2, \dots, s_{i-1} = t_{i-1}, s_i < t_i$。对于一个 i>∣s∣i > |s|,定义 si=0s_i = \texttt{0},其中字符 0\texttt{0} 小于任何其它字符。

输入格式

输入第一行包含两个整数 n,mn,m 表示节点数量和边数

接下来 mm 行,每行包含 22 个整数 ui,viu_i,v_i 和 11 个字符串 wiw_i 描述一条边的信息

特别的,保证输入的图一定无环,且输入的字符串中仅包含小写字母

输出格式

输出第一行包含一个字符串,表示第一个问题的答案

输出第二行包含一个字符串,表示第二个问题的答案

数据范围

测试点编号 n≤n \leq m≤m \leq 特殊性质
11 1010 5050 AA
22
33 100100 10001000
44
55 20002000 40004000 BB
66
77
88 10410^4 AA
99
1010 10410^4
1111 10510^5 2×1052\times 10^5 BB
1212
1313
1414 5×1055\times 10^5 CC
1515
1616
1717
1818 DD
1919
2020
2121
2222 AA
2323
2424 5×1055\times 10^5
2525 5×1055\times 10^5

A:A: 数据随机生成

B:B: 网格图(设网格图尺寸为 x×y(xy=n)x \times y(xy=n),则网格图上每个节点 (i,j)(i, j) 向 (i+1,j)(i + 1, j) 及 (i,j+1)(i, j + 1) 连边(若其存在)。之后,将每个坐标映射为一个节点,保证 (1,1)(1, 1) 处映射为节点 11,(x,y)(x, y) 处映射为节点 nn。额外保证 ∣wi∣=1|w_i| = 1)

C:C: ∣wi∣=1|w_i|=1

D:D: ∣wi∣=2|w_i|=2

对全部数据满足 :$1 \leq n \leq 10^5, n - 1 \leq m \leq 5 \times 10^5, |w_i| \leq 10^5, \sum |w_i| \leq 2 \times 10^6$。

样例输入

4 6
1 2 aa
1 3 b
1 4 c
2 3 d
2 4 dd
3 4 c

样例输出

aadc
c

2026暑假提高组模拟赛(7)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-8-6 17:30
结束于
2026-8-16 17:30
持续时间
240 小时
主持人
参赛人数
21