QOJ.ac

QOJ

Límite de tiempo: 6 s Límite de memoria: 256 MB Puntuación total: 100

#7284. 骑士

Estadísticas

在 Bajtocja 有 $n$ 个城市和 $m$ 条连接这些城市的双向道路。通过一条连接两个城市的道路需要一天。城市编号为 $1$ 到 $n$。骑士位于 $1$ 号城市,想要在最多 $d$ 天内到达 $n$ 号城市,并在那里击败一只强大的野兽。

为了击败野兽,骑士将使用 $k$ 把剑,每把剑的类型各不相同。剑的类型编号为 $1$ 到 $k$。每把剑都有一个非负整数值。起初,骑士拥有 $1$ 到 $k$ 类型的每种剑各一把,且他拥有的每把剑的值均为 $0$。

每条道路上都有 $k$ 名精通剑术的工匠。对于第 $i$ 条道路,第 $j$ 名工匠可以将 $j$ 类型剑的值变为 $a_{i,j}$。骑士在经过某条道路时,可以使用任意工匠子集的服务,从而修改他选择的任意剑的子集。每种类型的剑都可以被修改任意多次。

骑士希望 $1$ 类型剑的值尽可能大;在最大化 $1$ 类型剑值的前提下,他希望 $2$ 类型剑的值尽可能大,以此类推,直到 $k$ 类型剑。修改不同类型剑的顺序并不重要,他只关心剑的最终值。

已知通过道路网可以在最多 $d$ 天内从 $1$ 号城市到达 $n$ 号城市。骑士可以多次经过同一个城市或同一条道路。如果骑士最优地规划他的路径,他最终会使用什么样的剑?

输入格式

输入的第一行包含四个整数 $n, m, d$ 和 $k$ ($2 \le n \le 10\,000, 1 \le m, d \le 10\,000, 1 \le k \le 10$),分别表示 Bajtocja 的城市数量、道路数量、最大天数以及剑的类型数量。接下来的 $m$ 行,每行描述一条道路,包含 $k+2$ 个整数 $u_i, v_i, a_{i,1}, \dots, a_{i,k}$。$u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n, u_i \neq v_i$) 表示第 $i$ 条道路连接的城市编号。$a_{i,j}$ ($0 \le a_{i,j} \le 10^9$) 表示在选择第 $i$ 条道路上的工匠修改后,$j$ 类型剑的新值。可能存在多条连接相同城市的边。

输出格式

输出一行,包含 $k$ 个非负整数 $w_1, \dots, w_k$,用空格分隔。$w_1$ 表示骑士在最多 $d$ 天内到达 $n$ 号城市所能获得的 $1$ 类型剑的最大值。$w_2$ 表示在获得 $1$ 类型剑值为 $w_1$ 的前提下,骑士在最多 $d$ 天内到达 $n$ 号城市所能获得的 $2$ 类型剑的最大值,以此类推。换句话说,序列 $(w_1, \dots, w_k)$ 必须是所有骑士能在最多 $d$ 天内到达 $n$ 号城市并获得剑值序列中字典序最大的一个。

样例

输入 1

7 7 6 2
1 2 7 9
2 7 1 0
1 3 5 6
3 4 10 1
4 7 0 0
5 6 2 17
5 7 3 15

输出 1

10 15

说明

样例解释:最佳路径已在图中用粗线和箭头标出,箭头方向表示骑士的行进方向。带下划线的粗体边标签表示在该道路上进行的修改。

从 $3$ 号城市到 $4$ 号城市的道路使得获得 $1$ 类型剑的最大值成为可能。无法在最多 $6$ 天内到达 $7$ 号城市并同时经过连接 $3$ 和 $4$ 的道路以及连接 $5$ 和 $6$ 的道路。因此,骑士必须满足于 $2$ 类型剑的值为 $15$,通过连接 $5$ 和 $7$ 的道路。他的路径将经过以下城市:$1, 3, 4, 7, 5, 7$。他还会剩下一天时间,该时间不会被使用。

子任务

子任务 数据范围 分数
1 $n, m, d \le 10$ 10
2 $k = 1$ 15
3 $n, m, d \le 500, k \le 5$ 15
4 $n, m, d \le 1000, a_{i,j} \le 10$ 20
5 $n, m, d \le 1000$ 15
6 无额外限制 25

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.