bzoj1084【SCOI2005】最大子矩阵
1084: [SCOI2005]最大子矩阵
Time Limit: 10 Sec  Memory Limit: 162 MB id=1084" style="color:blue; text-decoration:none">Status id=1084" style="color:blue; text-decoration:none">Discuss
Submit: 1946  Solved: 970
[Submit][
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
1 -3
2 3
-2 3
Sample Output
HINT
Source
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#define F(i,j,n) for(int i=j;i<=n;i++)
#define D(i,j,n) for(int i=j;i>=n;i--)
#define ll long long
#define inf 1000000000
using namespace std;
int n,m,k;
int f[105][15],g[105][105][15],s[105][3];
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int main()
{
n=read();m=read();k=read();
memset(s,0,sizeof(s));
F(i,1,n) F(j,1,m) s[i][j]=s[i-1][j]+read();
if (m==1)
{
memset(f,0,sizeof(f));
F(i,1,n) F(j,1,k)
{
f[i][j]=f[i-1][j];
F(l,0,i-1) f[i][j]=max(f[i][j],f[l][j-1]+s[i][1]-s[l][1]);
}
printf("%d\n",f[n][k]);
}
else
{
memset(g,0,sizeof(g));
F(i,1,n) F(j,1,n) F(l,1,k)
{
g[i][j][l]=max(g[i-1][j][l],g[i][j-1][l]);
F(h,0,i-1) g[i][j][l]=max(g[i][j][l],g[h][j][l-1]+s[i][1]-s[h][1]);
F(h,0,j-1) g[i][j][l]=max(g[i][j][l],g[i][h][l-1]+s[j][2]-s[h][2]);
if (i==j) F(h,0,i-1)
g[i][j][l]=max(g[i][j][l],g[h][h][l-1]+s[i][1]-s[h][1]+s[j][2]-s[h][2]);
}
printf("%d\n",g[n][n][k]);
}
return 0;
}
bzoj1084【SCOI2005】最大子矩阵的更多相关文章
- [bzoj1084][SCOI2005]最大子矩阵_动态规划_伪·轮廓线dp
		最大子矩阵 bzoj-1084 SCOI-2005 题目大意:给定一个n*m的矩阵,请你选出k个互不重叠的子矩阵使得它们的权值和最大. 注释:$1\le n \le 100$,$1\le m\le 2 ... 
- bzoj千题计划198:bzoj1084: [SCOI2005]最大子矩阵
		http://www.lydsy.com/JudgeOnline/problem.php?id=1084 m=1: dp[i][j] 前i个数,选了j个矩阵的最大和 第i个不选:由dp[i-1][j] ... 
- BZOJ1084 [SCOI2005]最大子矩阵  动态规划
		欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1084 题意概括 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注 ... 
- bzoj1084: [SCOI2005]最大子矩阵  dp
		这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 题解:m很小分类讨论,m==1时怎么搞都可以,m==2时,dp[i][j][k]表 ... 
- bzoj1084: [SCOI2005]最大子矩阵
		dp.状态转移方程在代码里 #include<cstdio> #include<algorithm> #include<cstring> using namespa ... 
- BZOJ1084 SCOI2005最大子矩阵
		考虑DP f[i][j][k]表示一行到i一行到j共取k块最大值,类似于最长公共子序列n^2那种 注意相等时可以一起拿 By:大奕哥 #include<bits/stdc++.h> usi ... 
- bzoj1084 [SCOI2005]最大子矩阵——背包
		题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1084 水题...分类讨论一下即可. 代码如下: #include<iostream&g ... 
- [bzoj1084][SCOI2005]最大子矩阵(DP)
		题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1084 分析: m=1时:相当于只有一行数,让你取出p段,使得总和最大 明显可以DP,f ... 
- 1084: [SCOI2005]最大子矩阵
		1084: [SCOI2005]最大子矩阵 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1325 Solved: 670[Submit][Stat ... 
- BZOJ 1084: [SCOI2005]最大子矩阵 DP
		1084: [SCOI2005]最大子矩阵 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1084 Description 这里有一个n* ... 
随机推荐
- nodejs微服务健康检查方案
			1. 前言 针对目前云平台方案,因为网络.主机状态等诸多因素,单台主机上的服务出现问题的几率大大增加.这就要求我们能够监控每台主机.每个微服务实例的健康状态.因此对于nodejs相关项目需要做相关的微 ... 
- 深入理解cookie与session
			cookie和session是web开发比較基础也比較重要的知识,cookie和session用于用户的状态管理.简单的来说它们都仅仅是http中的一个配置项,在Servlet规范中也仅仅相应一个类而 ... 
- Android中的Junit测试
			在开发中Junit测试可以很方便的帮助开者尽可能早的发现并处理问题,而且使用也非常简单,只需要导入Junit测试相关的jar包并创建测试类,就可以对业务功能进行测试,而不用为了测试在代码中添加输出语句 ... 
- iOS单例创建的一点疑惑
			线程安全的单例常用写法, +(AccountManager *)sharedManager{ static AccountManager *defaultManager = nil; disptch_ ... 
- 存储过程的调用和Parameters数组的调用
			记录一些杂记吧 declare @d datetime set @d=GETDATE() select * from [ACC_B2B].[dbo].ORDER_Head --where 1=1 se ... 
- vue中makeMap方法的使用 (定义注册一些值  后期方便使用)
			function makeMap ( str, expectsLowerCase ) { var map = Object.create(null); var list = str.split(',' ... 
- Map<String,String>转换json字符串
			import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; public class testJson ... 
- 初学者指南:ZFS 是什么,为什么要使用 ZFS?
			作者: John Paul 译者: LCTT Lv Feng 今天,我们来谈论一下 ZFS,一个先进的文件系统.我们将讨论 ZFS 从何而来,它是什么,以及为什么它在科技界和企业界如此受欢迎. 虽然我 ... 
- php实现自动加载类
			PHP 实现自动加载类: 
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
			在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ... 
