![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线型 DP
The___Flash
这个作者很懒,什么都没留下…
展开
-
管道取珠(NOI2009,线性 DP)
一.题目链接 \quad 管道取珠 二.题目大意 \quad 原生题目极佳. 三.分析 \quad 这道题上来一手转化很妙,学到了~~ \quad 题目中设 a[i] 为最终序列的某种方案数,而让我们求解的却是 a[i]2a[i]^2a[i]2,很明显我们需要找出两者的关系. \quad 假设我们有两个完全相同且独立的系统,两个人同时进行操作,不难证明,对于某个最终序列 F,两个人操作完成后得到的序列都与 F 相同的方案数即为 a[i]2a[i]^2a[i]2 \quad 经过这一步转化后,我们就可以愉快原创 2020-05-28 21:05:44 · 319 阅读 · 0 评论 -
ICPC North Central NA Contest 2017 (部分题解)
目录 总结: Stoichiometry 一.题目大意: 二.分析: 三.代码实现: Smooth Array 一.题目大意: 二.分析: 三.代码实现: 总结: 我好菜呀,这场该 AK 的... Stoichiometry 一.题目大意: 化学方程式配平 二.分析: 直接高斯消元,由于题目说含有唯一最小解,说明有且只有一个自由元,枚举自由元的值,使得各系数为整数即...原创 2020-03-01 20:16:25 · 439 阅读 · 0 评论 -
Summer Practice Report (CodeForces - 1076F,线型 DP)
一.题目链接: CodeForces-1076F 二.题目大意: 有 n 页纸,只能横着写一行 每页纸上必须写上 a[i] 个 0,b[i] 个 1 之后将 n 页纸顺序拼接起来,不允许出现超过 k 个连续的 0 或 1,问是否可行. 三.分析: 很明显的线型 DP. 可我的状态表示:dp[a][b][c][d][e] 大佬的状态表示:dp[i][0/1] 没错,我的 DP 就...原创 2020-02-20 11:21:28 · 276 阅读 · 0 评论 -
To the Max( POJ - 1050,子矩阵最大和 模拟 || 降维 + 最大子段和)
一.题目链接: POJ-1050 二.题目大意: 给一个 n × n 的矩阵,求子矩阵的最大和. 三.分析: 第一种思路就是打表,然后用容斥求最大和. 详情请跳转最大子矩阵(HDU - 1559,前缀和) 复杂度: 第二种思路是枚举 起始行 和终止行 然后利用降维的思想,把两行之间的列向量和求出来,再求一下最大子段和取最大值即可. 复杂度: 四.代码实现: 思路...原创 2019-06-16 16:19:23 · 229 阅读 · 0 评论 -
最大连续子序列 (HDU - 1231,MCS)
一.题目链接: HDU-1231 二.题目大意: 求连续子序列的最大和,并输出其首位元素. 三.分析: MCS 模板题 MCS 学习:转载 四.代码实现: #include <set> #include <map> #include <ctime> #include <queue> #include <cmath> #i...原创 2019-01-30 20:32:07 · 167 阅读 · 0 评论 -
序列变换 (HDU - 5256,Lis 应用)
一.题目链接: HDU-5256 二.题目大意: n 个数,问至少需要修改几个数,使得序列严格递增. ps:所有的数均为整数. 三.分析: 注意:是修改!!!(不是删除).因为这个WA到怀疑人生 因为要求序列严格递增 可得: 立即推: 移项可得: 于是,构造新数列 {b},使得 现在,问题转变为了求出序列 b 的最长非降序列长度 四.代码实现: #include &...原创 2019-07-25 09:21:32 · 110 阅读 · 0 评论 -
277. 饼干(算法竞赛进阶指南,线型 DP + 贪心 + 打印最优解)
一.题目链接: 饼干 二.题目大意: 圣诞老人共有M个饼干,准备全部分给N个孩子。 每个孩子有一个贪婪度,第 i 个孩子的贪婪度为 g[i]。 如果有 a[i] 个孩子拿到的饼干数比第 i 个孩子多,那么第 i 个孩子会产生 g[i]*a[i]的怨气。 给定N、M和序列g,圣诞老人请你帮他安排一种分配方式,使得每个孩子至少分到一块饼干,并且所有孩子的怨气总和最小。 三.分析: 由排...原创 2019-11-24 15:52:53 · 431 阅读 · 0 评论 -
By Elevator or Stairs? (CodeForces - 1249E,线型DP)
一.题目链接: CodeForces-1249E 二.题目大意: 有 n 层楼,上楼有两种方式. a[i] 表示 走楼梯从 i 层到 i + 1层所用时间. b[i] 表示 坐电梯从 i 层到 i + 1层所用时间. 其中,每次坐电梯还需花费 c 时间. 求从 1 层到 1,2,3,...,n 层的所用最短时间. 三.分析: 很容易想到DP转移方程. dp[i] = mi...原创 2019-10-24 19:00:05 · 183 阅读 · 0 评论 -
Telephone Lines (POJ - 3662,SPFA + DP || 二分 + SPFA || 分层图 + SPFA)
一.题目链接: POJ-3662 二.题目大意: n 个点,p 条边的无向图. 最多可将图中的 k 条路权值变为 0,并定义该图的权值为 1 到 n 的所有选择方案中最大权值路的最小值. 求该图权值,如果 1 到 n 不存在路径,输出 -1. 三.分析: ① SPFA + DP 设 dis[v][k] 为从 1 到 v的路径中选择了 k 条路权值为 0 的最短距离. 每次有两种...原创 2019-10-21 21:42:58 · 237 阅读 · 0 评论 -
LCIS(算法竞赛进阶指南 P241,最长公共上升子序列)
一.题目链接: LCIS 二.题目大意: 给两个长度为 n 的序列 A,B. 求 A, B 的最长公共上升子序列长度. 三.分析: 令 dp[i, j] 表示 A[1 ~ i] 与 B[1 ~ j] 可以构成以 B[j] 结尾的 LICS 的长度. 当 A[i] != B[j] 时,dp[i, j] = dp[i - 1, j]. 当 A[i] == B[j] 时,想要计算 dp[...原创 2019-09-02 20:24:38 · 216 阅读 · 0 评论 -
Mr. Young's Picture Permutations (POJ - 2279 ,线型DP)
一.题目链接: POJ-2279 二.题目大意: n 个学生拍照,排成 k 排,第 i 排有 n[i] 个人,第一排站在最后面. 学生编号为 1...n,身高依次递增. 排队满足,同一行从左到右身高递减,同一列从后往前身高递减. 问有多少种排列方式. 三.分析: 由于每行每列身高依次递减,所以我们可以按身高从高到矮一次考虑他们的位置. 在任意时刻,对于当前学生来说,他可以插入到第...原创 2019-08-31 17:09:58 · 278 阅读 · 0 评论