RT,模拟赛的一道题,大致意思如下:
给定正整数 n,m 和一个二维矩阵 bm,m ,需要构造出一个长度为 n+1 的数列 a0,a1…an,满足任意 ai∈[1,m]。定义该数列的价值为 i=1∑nbai−1,ai,求出最大价值。
数据范围:n≤1015,m≤100,bi,j≤10。
赛时想到了 DP。用 fi,j 表示填了数列的前 i 位,且第 i 位填 j 的最大价值。转移方程:fi,j=max{fi−1,k+bk,j},直接 Θ(nm2) 转移。
赛后有大佬说用矩阵加速,但是本蒟蒻只学过求和类的矩阵加速,没学过最值类的。求大佬!