题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1084

水题...分类讨论一下即可。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,k,dp[][][],s1[],s2[],f[][][],w[];
int main()
{
scanf("%d%d%d",&n,&m,&k);
if(m==)
{
for(int i=;i<=n;i++)scanf("%d",&w[i]);
for(int i=;i<=n;i++)
for(int j=;j<=k;j++)
{
dp[i][j][]=max(dp[i-][j][],dp[i-][j][]);
if(j)dp[i][j][]=max(dp[i-][j][],dp[i-][j-][])+w[i];
}
printf("%d",max(dp[n][k][],dp[n][k][]));
return ;
}
else
{
for(int i=,a,b;i<=n;i++)
{
scanf("%d%d",&a,&b);
s1[i]=s1[i-]+a;
s2[i]=s2[i-]+b;
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int l=;l<=k;l++)
{
f[i][j][l]=max(f[i][j-][l],f[i-][j][l]);
for(int t=;t<i;t++)//t从0开始!
f[i][j][l]=max(f[i][j][l],f[t][j][l-]+s1[i]-s1[t]);
for(int t=;t<j;t++)
f[i][j][l]=max(f[i][j][l],f[i][t][l-]+s2[j]-s2[t]);
if(i==j)
for(int t=;t<i;t++)
f[i][j][l]=max(f[i][j][l],f[t][t][l-]+s1[i]-s1[t]+s2[j]-s2[t]);
}
printf("%d",f[n][n][k]);
return ;
}
}

bzoj1084 [SCOI2005]最大子矩阵——背包的更多相关文章

  1. [bzoj1084][SCOI2005]最大子矩阵_动态规划_伪·轮廓线dp

    最大子矩阵 bzoj-1084 SCOI-2005 题目大意:给定一个n*m的矩阵,请你选出k个互不重叠的子矩阵使得它们的权值和最大. 注释:$1\le n \le 100$,$1\le m\le 2 ...

  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] ...

  3. BZOJ1084 [SCOI2005]最大子矩阵 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1084 题意概括 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注 ...

  4. bzoj1084: [SCOI2005]最大子矩阵 dp

    这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 题解:m很小分类讨论,m==1时怎么搞都可以,m==2时,dp[i][j][k]表 ...

  5. bzoj1084: [SCOI2005]最大子矩阵

    dp.状态转移方程在代码里 #include<cstdio> #include<algorithm> #include<cstring> using namespa ...

  6. BZOJ1084 SCOI2005最大子矩阵

    考虑DP f[i][j][k]表示一行到i一行到j共取k块最大值,类似于最长公共子序列n^2那种 注意相等时可以一起拿 By:大奕哥 #include<bits/stdc++.h> usi ...

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

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

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

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

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

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

随机推荐

  1. Python3:urllib模块的使用

    Python3:urllib模块的使用1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=N ...

  2. GBDT调参

    gbm算法流程图: gbdt 参数:参考scikit-learn The overall parameters can be divided into 3 categories: Tree-Speci ...

  3. BUPT复试专题—哈夫曼树(2010)

    https://www.nowcoder.com/practice/162753046d5f47c7aac01a5b2fcda155?tpId=67&tqId=29635&tPage= ...

  4. C语言qsort

    C/C++中有一个快速排序的标准库函数 qsort ,在stdlib.h 中声明,其原型为: void qsort(void *base, int nelem, unsigned int width, ...

  5. centos 7 卸載 mysql

    跟網上文章,安裝了一個mysqlwget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 記下卸載過程: 首先执行查看命令 ...

  6. js 验证 输入值 全是中文

    1.代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  7. react 使用 moment 进行 日期格式化

    在react中使用得先导入: import moment from 'moment'; 调用: npm install moment var moment = require('moment'); m ...

  8. 线程相关函数(POSIX线程):

    创建单个线程 #include <pthread.h> // 若成功返回0,出错返回正的Exxx值 int pthread_create(pthread_t *tid, // 每个线程在进 ...

  9. python-一个小练习

    myseq = '''[a:1,b:2,c:3] [a:3,b:3,c:8] [a:7,c:2:m:7,r:4] [a:2,c:4:m:6,r:4] [a:3,b:2,c:7,o:5]''' def ...

  10. 全局钩子 实例(不使用DLL和使用DLL两种)

    大家应该都知道,全局消息钩子要依赖于一个DLL才能够正常工作.于是呢,我也就理所当在地认为全局钩子都要依赖于一个DLL才能正常工作的,我想大部分人肯定和我一样也这么认为的. 但实际上不是这样的.有某些 ...