Description

  这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵
不能相互重叠。

Input

  第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的
分值的绝对值不超过32767)。

Output

  只有一行为k个子矩阵分值之和最大为多少。

Sample Input

3 2 2
1 -3
2 3
-2 3

Sample Output

9

果然DP还是需要多练……
f[i][j][p]保存当第i行为p状态时选了j个正方形的最大值
p=1这一行只选左边
p=2这一行只选右边
p=3这一行选两个(但两个为独立的)
p=4这一行选两个(两个并在一起)

 #include<iostream>
#include<cstring>
using namespace std; int max5(int a,int b,int c,int d,int e)
{
return max(max(a,b),max(max(c,d),e));
}
int max3(int a,int b,int c)
{
return max(max(a,b),c);
}
int f[][][],n,m,k,x,y,z;
int main()
{
cin>>n>>m>>k;
if (m==)
{
for (int i=;i<=n;++i)
{
cin>>x;
for (int j=;j<=k;++j)
{
f[i][j][]=max(f[i-][j][],f[i-][j][]);
f[i][j][]=max(f[i-][j][],f[i-][j-][])+x;
}
}
cout<<max(f[n][k][],f[n][k][]);
}
else
{
memset(f,-0x3f,sizeof(f));
for(int i=;i<=n;i++)
for(int j=;j<=k;j++)
f[i][j][]=;
for (int i=;i<=n;++i)
{
cin>>x>>y;
z=x+y;
for (int j=;j<=k;++j)
{
f[i][j][]=max5(f[i-][j][],f[i-][j][],f[i-][j][],f[i-][j][],f[i-][j][]);
f[i][j][]=max5(f[i-][j-][]+x,f[i-][j][]+x,f[i-][j-][]+x,f[i-][j][]+x,f[i-][j-][]+x);
f[i][j][]=max5(f[i-][j-][]+y,f[i-][j-][]+y,f[i-][j][]+y,f[i-][j][]+y,f[i-][j-][]+y);
f[i][j][]=max3(f[i-][j-][]+z,f[i-][j-][]+z,f[i-][j][]+z);
if (j>=)f[i][j][]=max3(f[i][j][],f[i-][j-][]+z,f[i-][j-][]+z);
f[i][j][]=max5(f[i-][j-][]+z,f[i-][j-][]+z,f[i-][j-][]+z,f[i-][j-][]+z,f[i-][j][]+z); }
}
cout<<max5(f[n][k][],f[n][k][],f[n][k][],f[n][k][],f[n][k][]);
}
}

1084. [SCOI2005]最大子矩阵【网格DP】的更多相关文章

  1. 【BZOJ 1084】 1084: [SCOI2005]最大子矩阵 (DP)

    1084: [SCOI2005]最大子矩阵 Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. Input 第 ...

  2. 【BZOJ】1084: [SCOI2005]最大子矩阵(DP)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1084 有一个1A--- 本题没看懂,,不会啊囧..感觉完全设不了状态..看了题解,囧,m<=2 ...

  3. [BZOJ 1084] [SCOI2005] 最大子矩阵 【DP】

    题目链接:BZOJ - 1084 题目分析 我看的是神犇BLADEVIL的题解. 1)对于 m = 1 的情况, 首先可能不取 Map[i][1],先 f[i][k] = f[i - 1][k];   ...

  4. bzoj 1084: [SCOI2005]最大子矩阵【dp】

    分情况讨论,m=1的时候比较简单,设f[i][j]为到i选了j个矩形,前缀和转移一下就行了 m=2,设f[i][j][k]为1行前i个,2行前j个,一共选了k个,i!=j的时候各自转移同m=1,否则转 ...

  5. BZOJ 1084: [SCOI2005]最大子矩阵 DP

    1084: [SCOI2005]最大子矩阵 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1084 Description 这里有一个n* ...

  6. 1084: [SCOI2005]最大子矩阵

    1084: [SCOI2005]最大子矩阵 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1325  Solved: 670[Submit][Stat ...

  7. BZOJ(6) 1084: [SCOI2005]最大子矩阵

    1084: [SCOI2005]最大子矩阵 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3566  Solved: 1785[Submit][Sta ...

  8. 【BZOJ 1084】 [SCOI2005]最大子矩阵(DP)

    题链 http://www.lydsy.com/JudgeOnline/problem.php?id=1084 Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩 ...

  9. [bzoj1084][SCOI2005]最大子矩阵(DP)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1084 分析: m=1时:相当于只有一行数,让你取出p段,使得总和最大 明显可以DP,f ...

随机推荐

  1. [javaSE] 数组(查找-二分查找)

    前提数组必须是有序的 定义最小,最大,中间的角标索引 int min,max,mid; min=0; max=arr.length-1; mid=(min+max)/2; 上面的索引需要变化,使用循环 ...

  2. Springboot集成SpringData JPA

    序 StringData JPA 是微服务框架下一款ORM框架,在微服务体系架构下,数据持久化框架,主要为SpringData JPA及Mybatis两种,这两者的具体比较,本文不做阐述,本文只简单阐 ...

  3. yum 安装php7.1

    yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm yum -y install php71-php.x86_64 p ...

  4. 无法正常下载Nuget 包的问题

    引用Nuget 是遇到的问题,再次记录一下. 问题描述:Install-Package : 无法安装程序包“Quartz 3.0.2”.您正在尝试将此程序包安装到某个将“.NETFramework,V ...

  5. 《JavaWeb从入门到改行》JDBC经典秘方QueryRunner

    目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...

  6. 慕课网 javascript深入浅出编程练习

    任务 请在index.html文件中,编写arraysSimilar函数,实现判断传入的两个数组是否相似.具体需求: 1. 数组中的成员类型相同,顺序可以不同.例如[1, true] 与 [false ...

  7. CSDN博客大事日记1

    一.       2016-10-18,申请了博客专家,但是因为PV不够,所以很荣幸的成为了一名CSDN准博客专家,接下,得更加努力了争取早日成为博客专家,在此立帖为证哦.               ...

  8. hihocoder 1485----hiho字符串

    hihocoder 1485:hiho字符串 描述 如果一个字符串恰好包含2个'h'.1个'i'和1个'o',我们就称这个字符串是hiho字符串. 例如"oihateher".&q ...

  9. Android SimpleAdapter的参数

    1.作用是ArrayList和 ListView的桥梁.这个ArrayList里边的每一项都是一个Map<String,?>类型.       ArrayList当中的每一项 Map对象都 ...

  10. statistics_level 参数的应用

    转自 http://blog.csdn.net/zengmuansha/article/details/5149398 statistics_level 参数是oracle9.2开始引入的一个控制系统 ...