#Z1043. 逃离路线

逃离路线

题目描述

湖上有 nn 个岛屿排成一条线,编号 11nn。相邻岛屿之间有桥,第 jj 座桥连接岛 jjj+1j+1。你目前在 11 号岛,需要尽快到达 nn 号岛。

你有 mm 个休息等级可供选择(最多可休息 m1m-1 次)。每多休息一次,过桥和休息的花费会变化:

  • Ak,jA_{k,j}k=1,,mk=1,\dots,m)表示已经休息了 k1k-1 次后,经过第 jj 座桥所需的时间。
  • Bi,kB_{i,k}k=1,,m1k=1,\dots,m-1)表示在岛 ii 进行第 kk 次休息所花费的时间,可能为负数。

你可以在任意岛屿上选择休息(消耗 Bi,kB_{i,k})或直接过桥。由于可以在相邻岛屿之间来回移动,请找到到达 nn 号岛的最短时间。你不必用完所有休息次数。

输入格式

第一行两个整数 n,mn,m

接下来 mm 行,每行 n1n-1 个整数,第 kk 行表示 Ak,1,Ak,2,,Ak,n1A_{k,1},A_{k,2},\dots,A_{k,n-1}

接下来 nn 行,每行 m1m-1 个整数,第 ii 行表示 Bi,1,Bi,2,,Bi,m1B_{i,1},B_{i,2},\dots,B_{i,m-1}。若 m=1m=1 则该部分为空。

输出格式

一行一个整数,表示最短到达时间。

3 1
10 10
20
3 2
100 10
1 1
50
50
0
52

样例解释

样例 11m=1m=1,不能休息。直接 11021031\xrightarrow{10}2\xrightarrow{10}3,总时间 2020

样例 22m=2m=2,最多休息 11 次。方案对比:

  • 不休息:110021031\xrightarrow{100}2\xrightarrow{10}3,总 110110
  • 在岛 11 休息(花费 5050),休息后过桥(A2,1=1,A2,2=1A_{2,1}=1,A_{2,2}=1):50+1+1=5250+1+1=52
  • 在岛 22 休息:100+50+1=151100+50+1=151

最优为 5252

数据范围与约定

子任务 分值 限制
11 1010 n,m6n,m \le 6
22 2020 m=1m=1
33 3030 m=2m=2
44 4040 n,m1000n,m \le 10000Ak,j1040 \le A_{k,j} \le 10^4,$

下发样例

下发样例下载