#P3257. [JLOI2014] 天天酷跑

    ID: 2311 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划,dp搜索2014吉林记忆化搜索

[JLOI2014] 天天酷跑

题目描述

在游戏天天酷跑中,最爽的应该是超级奖励模式了吧,没有一切障碍,可以尽情的吃金币,现在请你控制游戏角色来获得尽可能多的分数。游戏界面离散为一个长度为 1n1 \sim n,高度为 1m1 \sim m(初始点为 (0,1)(0,1))的矩阵图。每个格子上都有收益 (11000)(-1 \sim 1000)1-1 表示该点不能通过。游戏角色从起点一路奔跑向终点,中途可以跳跃来获得更高的分数,在空中还能进行连跳。

游戏开始前你可以设定跳跃的高度,以及能连跳的次数,初始跳跃高度为 11,连跳数为 11(最多为 55),升级跳跃高度和连跳都需要一定的花费。跳跃高度设定完后游戏角色每次跳跃高度都将固定,连跳必须在下落过程中可以使用。所有操作都将在整点上完成,需要保证设定完的跳跃高度及连跳数,无法跳出游戏高度上限。

(1,1)(1,1) 点用一次跳跃,一次经过 (2,2),(3,3),(4,2),(5,1)(2,2),(3,3),(4,2),(5,1)

以下是连跳数为 22 连跳,跳跃高度为 22 的跳跃方案:

(1,1)(1,1) 起跳,依次经过 (2,2),(3,3),(4,2)(2,2),(3,3),(4,2) 再使用连跳,经过 (5,3),(6,4),(7,3),(8,2),(9,1)(5,3),(6,4),(7,3),(8,2),(9,1)

输入格式

第一行四个整数 n,m,cost1,cost2n,m,cost_1,cost_2n,mn,m 如题意所示,cost1,cost2cost_1,cost_2 分别表示每升一级跳跃高度,连跳数所需的花费。

接下来 mm 行,每行 nn 个数。第 ii 行第 jj 个数表示地图中高度为 ii,长度在第 jj 列处的收益。

输出格式

如果无法跑出终点线,就输出 mission failed,否则输出一行三个数,分别表示最大收益;及最大收益时,最小的连跳数;最大收益,最小连跳数时,最小的跳跃高度。

7 4 6 10
9 4 7 7 4 3 2
18 8 9 4 15 12 4
19 2 4 7 10 18 12
8 1 13 14 16 0 14
67 1 2

提示

对于 20%20 \% 的数据,满足 m=2m=21n1051 \le n \le 10 ^ 5

对于另外 80%80 \% 的数据,1n100001 \le n \le 100002<m202 < m \le 20,其中有 20%20\% 的数据保证 2<n102 < n \le 101m101 \le m \le 10