首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
洛谷P2331 [SCOI2005] 最大子矩阵[序列DP]
】的更多相关文章
洛谷P2331 [SCOI2005] 最大子矩阵[序列DP]
题目描述 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 输入输出格式 输入格式: 第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767). 输出格式: 只有一行为k个子矩阵分值之和最大为多少. 输入输出样例 输入样例#1: 3 2 2 1 -3 2 3 -2 3 输出样例#1: 9 m分类讨论m=1,f[i][j]表示前i个选了j个矩…
洛谷P2331 [SCOI2005]最大子矩阵 DP
P2331 [SCOI2005]最大子矩阵 题意 : 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. 第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的分值的绝对值不超过32767). 思路: 注意这里的m只可能为1或者2.所以可以分开来考虑,对于m = 1,比较容易,dp[i][k] = dp[ t ][ k-1 ] + (t 到 i 的和).然而对于m等于2…
洛谷 P2331 [SCOI2005]最大子矩阵
洛谷 这一题,乍一眼看上去只想到了最暴力的暴力--大概\(n^4\)吧. 仔细看看数据范围,发现\(1 \leq m \leq 2\),这就好办了,分两类讨论. 我先打了\(m=1\)的情况,拿了30分. 就相当于最大\(k\)段子段和. 直接用\(dp[i][j][0/1]\)数组表示第\(i\)个选了\(j\)段的最大值,0代表不选,1为选. 那么状态转移方程也很简单: \(dp[i][j][1]=max(dp[i-1][j-1][0],dp[i-1][j][1])+t[i];\) \(dp…
洛谷P2331[SCOI2005]最大子矩阵
题目 DP 此题可以分为两个子问题. \(m\)等于\(1\): 原题目转化为求一行数列里的\(k\)块区间的和,区间可以为空的值. 直接定义状态\(dp[i][t]\)表示前i个数分为t块的最大值. 因为区间可以为空,所以最大值再小也不会比0小,所以初始化\(dp\)值为\(0\). 有方程\(dp[i][t]=max(dp[i-1][t],dp[j][t-1]+\sum_{k=j+1}^{i}a[k])\) 考虑顺序及边界,发现此时的\(dp[i][t]\)是从\(t-1\)块转移过来的,所…
BZOJ1084或洛谷2331 [SCOI2005]最大子矩阵
BZOJ原题链接 洛谷原题链接 注意该题的子矩阵可以是空矩阵,即可以不选,答案的下界为\(0\). 设\(f[i][j][k]\)表示前\(i\)行选择了\(j\)个子矩阵,选择的方式为\(k\)时的最大分值之和. \(k = 0\)表示该行不选数. \(k = 1\)表示该行只选左边的数. \(k = 2\)表示该行只选右边的数. \(k = 3\)表示该行选两个数,但分别属于两个子矩阵. \(k = 4\)表示该行选两个数,属于一个子矩阵. 设一行中左边的数为\(x\),右边的数为\(y\)…
bzoj1084&&洛谷2331[SCOI2005]最大子矩阵
题解: 分类讨论 当m=1的时候,很简单的dp,这里就不再复述了 当m=2的时候,设dp[i][j][k]表示有k个子矩阵,第一列有i个,第二列有j个 然后枚举一下当前子矩阵,状态转移 代码: #include<bits/stdc++.h> using namespace std; ,M=; int dp[N][M],f[N][N][M],k,s,ss,n,m,K,sum[N],s1[N],s2[N]; int main() { scanf("%d%d%d",&n,…
洛谷 P1896 [SCOI2005]互不侵犯
洛谷 P1896 [SCOI2005]互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 注:数据有加强(2018/4/25) 输入输出格式 输入格式: 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N) 输出格式: 所得的方案数 输入输出样例 输入样例: 3 2 输出样例: 16题解:听大佬们说是状压dp,但很巧的是!我不…
洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [SCOI2008]配对 感觉是道很好的推断题 贪心 想到贪心的结论就很容易,没想到就很难做出来了 结论:对\(A,B\)数组分别排序之后,在\(A\)中选第\(i\)个数,与之配对的数一定在\(B[i-1]\)~\(B[i+1]\)内 其实证明是很好证的,在与你是否往这方面想了... 因为题目有一个很…
洛谷 P3177 [HAOI2015]树上染色 树形DP
洛谷 P3177 [HAOI2015]树上染色 树形DP 题目描述 有一棵点数为 \(n\) 的树,树边有边权.给你一个在 \(0 \sim n\)之内的正整数 \(k\) ,你要在这棵树中选择 \(k\) 个点,将其染成黑色,并将其他 的 \(n−k\) 个点染成白色.将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的距离的和的受益.问受益最大值是多少. 输入格式 第一行包含两个整数 \(n,k\). 第二到 \(n\) 行每行三个正整数 \(fr,to,dis\)表示该树中存在一条…
洛谷 P4072 [SDOI2016]征途 斜率优化DP
洛谷 P4072 [SDOI2016]征途 斜率优化DP 题目描述 \(Pine\) 开始了从 \(S\) 地到 \(T\) 地的征途. 从\(S\)地到\(T\)地的路可以划分成 \(n\) 段,相邻两段路的分界点设有休息站. \(Pine\)计划用\(m\)天到达\(T\)地.除第\(m\)天外,每一天晚上\(Pine\)都必须在休息站过夜.所以,一段路必须在同一天中走完. \(Pine\)希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小. 帮助\(Pine\)求出…