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
第一感觉状压,然后就写了,然后就30分了,不知道是压的不对还是什么,反正我没调出来
后来就改了一下状态f[i][j][k]表示第一行选到了i,第二行选到了j,共k块
 #include<cstdio>
#include<iostream>
using namespace std;
int n,m,K,ans;
int f[][][],s1[],s2[],a[][];
int main(){
scanf("%d%d%d",&n,&m,&K);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++) scanf("%d",&a[i][j]);
if(m==){
for(int i=;i<=n;i++) s1[i]=s1[i-]+a[i][];
for(int i=;i<=n;i++)
for(int k=;k<=K;k++){
f[i][][k]=f[i-][][k];
for(int j=;j<=i;j++){
f[i][][k]=max(f[i][][k],f[j-][][k-]+s1[i]-s1[j-]);
}
}
printf("%d",f[n][][K]);
}else{
for(int i=;i<=n;i++)
s1[i]=s1[i-]+a[i][],
s2[i]=s2[i-]+a[i][];
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int k=;k<=K;k++){
f[i][j][k]=max(f[i-][j][k],f[i][j-][k]);
for(int l=;l<=i;l++) f[i][j][k]=max(f[i][j][k],f[l-][j][k-]+s1[i]-s1[l-]);
for(int l=;l<=j;l++) f[i][j][k]=max(f[i][j][k],f[i][l-][k-]+s2[j]-s2[l-]);
if(i==j)for(int l=;l<=i;l++){
f[i][j][k]=max(f[i][j][k],f[l-][l-][k-]+s2[j]-s2[l-]+s1[i]-s1[l-]);
}
}
printf("%d",f[n][n][K]);
}
}

【BZOJ 1084】[SCOI2005]最大子矩阵的更多相关文章

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

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

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

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

  3. BZOJ 1084 [SCOI2005]最大子矩阵 - 动态规划

    传送门 题目大意: 从矩阵中取出k个互不重叠的子矩阵,求最大的和. 题目分析: 对于m=1,直接最大m子段和. 对于m=2: \(dp[i][j][k]\)表示扫描到第一列i和第2列j时选取了k个矩阵 ...

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

    NICE 的DP 题,明白了题解真是不错. Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1228  Solved: 622[Submit][Stat ...

  5. 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,否则转 ...

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

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

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

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

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

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

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

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

  10. 1084: [SCOI2005]最大子矩阵 - BZOJ

    Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. Input 第一行为n,m,k(1≤n≤100,1≤m≤2 ...

随机推荐

  1. [未完成]关于xml文件的解析

    附录一个比较特别的xml文件. MultiNamespaceInlineRequest.xml <?xml version="1.0" encoding="ISO- ...

  2. 解决python 提示 SyntaxError: Missing parentheses in call to 'print'

    刚刚学习python,练习他的输出,发现输出一个常量时报错了,如下: 发现是因为python2.X版本与python3.X版本输出方式不同造成的在python3.X的,输入内容时都要带上括号pytho ...

  3. Angular 2.0 从0到1:Rx--隐藏在Angular 2.x中利剑

    第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...

  4. Java Concurrency - 线程的基础操作

    创建线程 在 Java 中,创建线程有两种方式: 继承 java.lang.Thread 类,重写 run 方法. public class MyJob extends Thread { @Overr ...

  5. Delphi 获取进程路径及命令行参数

    Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...

  6. EXCEL跨工作薄查找。提取信息

    =IF(ISERROR(INDEX(zdy!$B:$B,MATCH(B15,zdy!$B:$B,0))),"不存在",INDEX(zdy!$C:$C,MATCH(B15,zdy!$ ...

  7. Java之趣味编程结婚问题

    问题如下:判断结婚的组合对数数.定义: 好三位新郎为 A,B,C ;三位新娘为X,Y,Z 有人想要知道他们谁和谁结婚 ,于是问了其中的三位. 回答是这样的:A说他将和X结婚 :X说她的未婚夫是C ;C ...

  8. Swift静态方法

    与静态属性类似,Swift中还定义了静态方法,也称为类型方法,所谓“类型”是指枚举.结构体和类.静态方法定义的方法也是与静态属性类似的,枚举和结构体的静态方法使用的关键字是static,类的静态方法使 ...

  9. ios 多线程-GCD-NSOperation

    一.线程间的通讯 1.使用NSObject类的方法performSelectorInBackground:withObject:来创建一个线程. 具体的代码:隐式创建,自动启动 [Object per ...

  10. Objective-C 【完整OC项目-购票系统-系统分析-代码实现】

    电影院买票系统/演唱会买票系统 需求分析: 首先我们进入系统,然后会选择买电影票还是买演唱会票,所以这牵扯两个系统的合成.但是我们知道都是买票系统,所以我们可以先创建一个类,属于购买电影票和演唱会的票 ...