题面

对于m==1和m==2两种状态进行不同的dp;

设sum[i][1]表示第一列的前缀和,sum[i][2]表示第二列的前缀和;

sum[i][1]=sum[i-1][1]+a[i][1];

sum[i][2]=sum[i-1][2]+a[i][2];

当m=1时,

设f[i][j]表示前i个数选择j个区间所得到的最大值;

那么枚举0<=p<i, f[i][j]=max(f[i-1][j],f[p][j-1]+sum[i][1]-sum[p][1]);

答案就是f[n][k];

当m=2时,与上面的类似;

f[i][j][p]表示第一列选择前i个数,第二列选择前j个数,总共选择p个矩阵的最大值;

那么枚举0<=p<i,f[i][j][p]=max(f[i-1][j][p],f[i][j-1][p],f[i][j][p],f[l][j][p-1]+sum[i][1]-sum[l][1],f[i][l][p-1]+sum[j][2]-sum[l][2],f[l][l][p-1]+sum[i][2]+sum[i][1]-sum[l][2]-sum[l][1]);

答案就是f[n][n][k];

#include <bits/stdc++.h>
using namespace std;
int n,m,K;
int a[][];
int sum[][];
int g[][];
void solve1()
{
for(int k=;k<=K;k++){
for(int i=;i<=n;i++){
g[i][k]=g[i-][k];
for(int j=;j<i;j++){
g[i][k]=max(g[j][k-]+sum[i][]-sum[j][],g[i][k]);
}
}
}
cout<<g[n][K];
}
int f[][][];
void solve2()
{
for(int k=;k<=K;k++){
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
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-]+sum[i][]-sum[l][]);
}
for(int l=;l<j;l++){
f[i][j][k]=max(f[i][j][k],f[i][l][k-]+sum[j][]-sum[l][]);
}
if(i==j){
for(int l=;l<i;l++){
f[i][j][k]=max(f[i][j][k],f[l][l][k-]+sum[i][]+sum[i][]-sum[l][]-sum[l][]);
}
}
}
}
}
cout<<f[n][n][K];
}
int main()
{
cin>>n>>m>>K;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=;i<=n;i++){
sum[i][]=sum[i-][]+a[i][];
sum[i][]=sum[i-][]+a[i][];
}
if(m==){
solve1();
}
else{
solve2();
}
}
/*
3 1 2
1
-2
2
*/

洛谷 P2331 最大子矩阵 题解的更多相关文章

  1. 洛谷P2832 行路难 分析+题解代码【玄学最短路】

    洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...

  2. 【洛谷P3960】列队题解

    [洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...

  3. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

  4. 洛谷P1577 切绳子题解

    洛谷P1577 切绳子题解 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2为后的小数). 输入输出格 ...

  5. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  6. 洛谷 P1220 关路灯 题解

    Description 有 $n$ 盏路灯,每盏路灯有坐标(单位 $m$)和功率(单位 $J$).从第 $c$ 盏路灯开始,可以向左或向右关闭路灯.速度是 $1m/s$.求所有路灯的最少耗电.输入保证 ...

  7. 洛谷 P2331 [SCOI2005]最大子矩阵

    洛谷 这一题,乍一眼看上去只想到了最暴力的暴力--大概\(n^4\)吧. 仔细看看数据范围,发现\(1 \leq m \leq 2\),这就好办了,分两类讨论. 我先打了\(m=1\)的情况,拿了30 ...

  8. 【洛谷P3410】拍照题解(最大权闭合子图总结)

    题目描述 小B有n个下属,现小B要带着一些下属让别人拍照. 有m个人,每个人都愿意付给小B一定钱让n个人中的一些人进行合影.如果这一些人没带齐那么就不能拍照,小B也不会得到钱. 注意:带下属不是白带的 ...

  9. [BZOJ 3039&洛谷P4147]玉蟾宫 题解(单调栈)

    [BZOJ 3039&洛谷P4147]玉蟾宫 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. ...

随机推荐

  1. Confluence 6 文件

    通过将你的文件上传到 Confluence 能够让你在一个统一的地方分享你项目小组的 PDF 文件,Office 文档,图片以及更多的内容. 自动版本,即时预览,权限控制和全文搜索意味着在网络驱动器上 ...

  2. 暑假集训 #2 div1 I - Lada Priora 精度处理

    I - Lada Priora Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  3. 《Effective C++》结语

    九月的这三周把<Effective C++>重读了一遍,尽量以自己的理解,用最简单的(其实太深入也不会写)的语言把书里面的重点都写了下来. 由于之前找实习占用了大量的时间,写的博客都比较水 ...

  4. [EOJ Monthly2019.11][T1]纸条

    https://acm.ecnu.edu.cn/ 华东师范大学在线评测网站 今天这个题目来自华东师范大学的校赛,比icpc稍难一些,在2019年11月29日周五19:30开始,持续2.5个小时 以下是 ...

  5. Java 8 - Stream Collectors分组的例子

    1.分组依据,计数和排序 1.1按a分组List并显示它的总数. package com.mkyong.java8; import java.util.Arrays; import java.util ...

  6. Idea如何生成JPA的相关model,以及运行JPA项目的时候启动错误

    1.如何生成JPAmodel 按照顺序执行下面的步骤 为指定的项目添加JPA的配置,这样之后生成的model就会在指定的项目内 选择JPA之后默认不用操作直接添加 没有Persistence的可以在w ...

  7. 【转】如何在Oracle中复制表结构和表数据

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  8. spark 笔记 16: BlockManager

    先看一下原理性的文章:http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/ ,http://jerrys ...

  9. ORACLE 11GR2常用参数(含隐含参数)设置

    ORACLE 11GR2常用参数(含隐含参数)设置如下: alter system set "_PX_use_large_pool" = true scope=spfile;alt ...

  10. DatePicker 日期选择器

    用于选择或输入日期 选择日 以「日」为基本单位,基础的日期选择控件 基本单位由type属性指定.快捷选项需配置picker-options对象中的shortcuts,禁用日期通过 disabledDa ...