BZOJ1084(SCOI2005)[最大子矩阵]--DP
2017-10-28 19:01
183 查看
【链接】
bzoj1084
【解题报告】
一看m只有2,就分类讨论DP就行了。
bzoj1084
【解题报告】
一看m只有2,就分类讨论DP就行了。
#include<cstdio> #include<cstring> using namespace std; const int maxn=105,maxv=12; int n,m,K,sum[maxn][2],f[maxn][maxv],dp[maxn][maxn][maxv]; inline char nc() { static char buf[100000],*l,*r; if (l==r) r=(l=buf)+fread(buf,1,100000,stdin); if (l==r) return EOF; return *l++; } inline int Read() { int res=0,f=1; char ch=nc(),cc=ch; while (ch<'0'||ch>'9') cc=ch,ch=nc(); if (cc=='-') f=-1; while (ch>='0'&&ch<='9') res=res*10+ch-48,ch=nc(); return res*f; } int max(int x,int y) {if (x>y) return x; else return y;} int main() { freopen("1084.in","r",stdin); freopen("1084.out","w",stdout); n=Read(); m=Read(); K=Read(); for (int i=1; i<=n; i++) for (int j=0; j<m; j++) sum[i][j]=sum[i-1][j]+Read(); memset(f,0,sizeof(f)); if (m==1) { memset(f,192,sizeof(f)); for (int i=0; i<=n; i++) f[i][0]=0; for (int i=1; i<=n; i++) for (int j=1; j<=K; j++) { f[i][j]=f[i-1][j]; for (int k=0; k<i; k++) f[i][j]=max(f[i][j],f[k][j-1]+sum[i][0]-sum[k][0]); } printf("%d",f [K]); } else { memset(dp,192,sizeof(dp)); for (int i=0; i<=n; i++) for (int j=0; j<=n; j++) dp[i][j][0]=0; for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) for (int k=1; k<=K; k++) { dp[i][j][k]=max(dp[i-1][j][k],dp[i][j-1][k]); for (int t=0; t<i; t++) dp[i][j][k]=max(dp[i][j][k],dp[t][j][k-1]+sum[i][0]-sum[t][0]); for (int t=0; t<j; t++) dp[i][j][k]=max(dp[i][j][k],dp[i][t][k-1]+sum[j][1]-sum[t][1]); if (i==j) for (int t=0; t<i; t++) dp[i][j][k]=max(dp[i][j][k],dp[t][t][k-1]+sum[i][0]-sum[t][0]+sum[j][1]-sum[t][1]); } printf("%d",dp [K]); } return 0; }
相关文章推荐
- 九度OJ 1497:面积最大的全1子矩阵(DP)
- BZOJ 1084: [SCOI2005]最大子矩阵【DP】
- UVALive 3029 City Game 悬线法求最大子矩阵面积 dp
- HDU-2870 Largest Submatrix (线性dp 最大01矩阵)(2009 Multi-University Training Contest 7 )
- BZOJ1084 最大子矩阵 [DP]
- HDU 2830 dp最大完全矩阵Matrix Swapping
- HDU1559 最大子矩阵【DP】
- [bzoj1084][SCOI2005]最大子矩阵_动态规划_伪·轮廓线dp
- 求最大子矩阵(子矩阵无大小要求)dp
- 暑期dp46道(39)--HDOJ 2870 最大子矩阵面积...
- HDU 2870【DP_求最大矩阵】
- HDU1081:To The Max(最大子矩阵,线性DP)
- HDU 1559 最大子矩阵--dp--(最大和子矩阵模型)
- poj1050-To the Max-最大子矩阵-dp
- 【DP求最大子矩阵面积】hdu 1506
- 经典矩阵dp寻找递增最大长度
- bzoj 1084: [SCOI2005]最大子矩阵【dp】
- 【BZOJ1084】[SCOI2005]最大子矩阵【DP】
- dp 最大矩阵和
- HDU 1081 DP找最大和的矩阵