[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]),这样就解决了。。
注意到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]),这样就解决了。。
相关文章推荐
- [BZOJ 1084] [SCOI2005] 最大子矩阵 【DP】
- BZOJ 1084: [SCOI2005]最大子矩阵 DP
- 【BZOJ1084】[SCOI2005]最大子矩阵【DP】
- bzoj 1084: [SCOI2005]最大子矩阵 dp
- BZOJ 1084: [SCOI2005]最大子矩阵 DP
- BZOJ1084: [SCOI2005]最大子矩阵 DP
- bzoj1084: [SCOI2005]最大子矩阵-DP
- [bzoj1084][SCOI2005]最大子矩阵_动态规划_伪·轮廓线dp
- 【BZOJ 1084】【SCOI 2005】最大子矩阵【DP & 分类讨论】
- bzoj 1084: [SCOI2005]最大子矩阵【dp】
- BZOJ 1084([SCOI2005]最大子矩阵-长矩阵Dp)
- BZOJ 1084: [SCOI2005]最大子矩阵【DP】
- [bzoj1084][SCOI2005]最大子矩阵 dp
- [BZOJ]1084 [SCOI2005] 最大子矩阵 DP
- bzoj1084 [SCOI2005]最大子矩阵 dp
- 【bzoj1084】【scoi2005】【最大子矩阵】【dp】
- BZOJ1084 [SCOI2005]最大子矩阵
- [BZOJ 1084] SCOI 2005 最大子矩阵 · 简单DP
- BZOJ 1084: [SCOI2005]最大子矩阵( dp )
- [BZOJ1084][SCOI2005]最大子矩阵(dp)