您的位置:首页 > 其它

[BZOJ1084]SCOI2005最大子矩阵|DP

2015-04-23 14:48 246 查看
我好弱啊这题不是应该一下就想到的吗我想了这么久。。

注意到m<=2,这就好办了嘛。。m=1的时候好弄,f[i][j]表示前i个数选j个的最大和,
有f[i][j]=min(f[i-1][j],min(f[k][j-1]+sum[k+1][i]))(0<=k<i)。。

推广到m=2的时候,f[i][j][k]表示第一列走到i第二列走到j,选k个的最大和,这时候最少有4种转移,
f[i-1][j][k],f[i][j-1][k],这两个是不新选,
max(f[x][j][k-1]+sum1[x+1][i]),max(f[i][x][k-1],sum2[x+1][i])(0<=x<i(或j)),这两个是从其中一列中新选一个,如果i=j还可以选两列的矩阵来转移,max(f[x][x][k-1]+sum1[x+1][i]+sum2[x+1][j]),这样就解决了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: