-
用二维 vector 数组定义 a 数组(即原题 A 数组)和 dp1 数组,一维数组 p(即原题 P 数组)。
-
dp1i,j 代表的含义为:从 (1,1) 走到 (i,j) 格子总过程的最小的缺少的金币数量(中间若干天的缺少金币数量不参与计算)。转移方法:先计算出来在 (i,j) 的这一天结束后的缺少金币数量,然后向右方和下方分别转移。
-
先建立二维点和一维点的映射关系,然后把二维图上相邻两点建边,边权是这两个点的缺少金币数量最大值。将边按照缺少金币数量从小到大排序,从没有边开始不断加边直到 (1,1) 和 (H,W) 连通(用并查集判断),这时加的这条边的边权即为答案。
-
需要特判,若 H=W=1,如样例二,则输出 max(p1−a1,1,0)。