![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
0x51 线性 DP
理解动态规划的“阶段”“状态”“决策” 三要素;
应用动态规划的三个条件: “子问题重叠性”“最优子结构”“无后效性”;
能抽象出题目关键点作为状态,并选择覆盖整个状态空间的最小维度集合;
简单状态转移方程的设计与实现通过记录转移来源、递归输出的方法,求出动态规划算法的具体方案;
DP 的初步优化:离散化、贪心、变量维护决策集合、前缀和预处理等方法。
zxyOI
无
展开
-
noi.openjudge 1759:最长上升子序列
一个数的序列bi,当$b_1 < b_2 < ... < b_S$的时候,我们称这个序列是上升的。对于给定的一个序列$(a_1, a_2, ..., a_N)$,我们可以得到一些上升的子序列$(a_{i1}, a_{i2}, ..., a_{iK})$,这里$1 <= i_1 < i_2 < ... < i_K <= N$。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).原创 2019-09-16 11:23:28 · 250 阅读 · 0 评论 -
noi.openjudge 1944:吃糖果
名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块原创 2019-09-16 11:28:56 · 507 阅读 · 0 评论 -
luogu P1115 最大子段和
给出一段序列,选出其中连续且非空的一段使得这段和最大。原创 2019-09-18 16:14:39 · 121 阅读 · 0 评论