BZOJ1084: [SCOI2005]最大子矩阵
来源:互联网 发布:大学生网络创业论文 编辑:程序博客网 时间:2024/05/14 19:33
Portal
注意到m只能为1或2
分类讨论。
m=1的时候其实就是最大K段连续子段和。
m=2时
g[i][j][k]表示第一列到i,第二列到j,选了k个子矩阵的最大和;
那么有一下几种情况:
①都不选:
②第一列中选:
③第二列中选:
④若i==j,则两列中同时选:
【代码】
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue>#define N 2005#define INF 1000000001using namespace std;typedef long long ll;int read(){ int x=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();} while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*f;}int n,m,K;int sum[105],ss[105]; int f[105][11],g[105][105][11];void Input_Init(){ n=read(),m=read(),K=read();}void DP(){ for(int i=1;i<=n;i++) sum[i]=sum[i-1]+read(); for(int i=0;i<=n;i++) for(int j=1;j<=min(i,K);j++) f[i][j]=-INF; for(int i=1;i<=n;i++) for(int j=1;j<=min(i,K);j++) { for(int k=j-1;k<i;k++) f[i][j]=max(f[i][j],max(f[k][j],f[k][j-1]+sum[i]-sum[k])); } printf("%d\n",f[n][K]);}void dp(){ for(int i=1;i<=n;i++) sum[i]=sum[i-1]+read(),ss[i]=ss[i-1]+read(); for(int i=0;i<=n;i++) for(int j=0;j<=n;j++) for(int k=1;k<=K;k++) { g[i][j][k]=-INF; g[i][j][k]=max(g[i-1][j][k],g[i][j-1][k]); for(int ii=0;ii<i;ii++) g[i][j][k]=max(g[i][j][k],g[ii][j][k-1]+sum[i]-sum[ii]); for(int jj=0;jj<j;jj++) g[i][j][k]=max(g[i][j][k],g[i][jj][k-1]+ss[j]-ss[jj]); if(i==j) for(int ii=0;ii<i;ii++) g[i][j][k]=max(g[i][j][k],g[ii][ii][k-1]+sum[i]-sum[ii]+ss[i]-ss[ii]); } printf("%d\n",g[n][n][K]);}int main(){ Input_Init(); if(m==1) DP(); else dp(); return 0;}
0 0
- 【BZOJ1084 || SCOI2005】最大子矩阵
- [BZOJ1084] [SCOI2005]最大子矩阵
- bzoj1084[SCOI2005]最大子矩阵
- bzoj1084【SCOI2005】最大子矩阵
- 【bzoj1084】[SCOI2005]最大子矩阵
- BZOJ1084: [SCOI2005]最大子矩阵
- 【bzoj1084】 [SCOI2005]最大子矩阵
- bzoj1084: [SCOI2005]最大子矩阵
- bzoj1084: [SCOI2005]最大子矩阵
- BZOJ1084 [SCOI2005]最大子矩阵
- 【BZOJ1084】【SCOI2005】最大子矩阵 傻动规
- [BZOJ1084]SCOI2005最大子矩阵|DP
- bzoj1084: [SCOI2005]最大子矩阵-DP
- 【bzoj1084】【scoi2005】【最大子矩阵】【dp】
- 【BZOJ1084】[SCOI2005]最大子矩阵【DP】
- BZOJ1084: [SCOI2005]最大子矩阵 DP
- 【bzoj1084】【洛谷P2331】 【SCOI2005】 最大子矩阵
- [BZOJ1084][SCOI2005]最大子矩阵(dp)
- 4.环境搭建-hive安装
- 异常------>类路径初始化异常(classpathxmlapplicationcontext)
- 框架之事务----自动更新数据库的问题
- SNMP消息传输机制
- 大汇集
- BZOJ1084: [SCOI2005]最大子矩阵
- openstack-ocata nova oslo.log模块浅析
- iOSPush自动隐藏tabbar(二)
- TCP报文格式详解
- 442. Find All Duplicates in an Array
- java Socket简单聊天实现
- Java开发问题集
- Stanford Tagger 词性标注
- Java之路——名词解释(一)