
动态规划
frankchenfu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划算法1——背包问题
动态规划是一个OI选手都熟悉的算法,同时也是刚接触时比较难理解的。 今天,我为大家分享一类比较简单的动态规划问题——背包问题。 背包问题(Knapsack problem)是在1978年提出的,它都可以类似的描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。 背包问题主要有三种分支: 1、01背包; 2、完全背包; 3、多重背...原创 2017-02-26 21:31:00 · 273 阅读 · 1 评论 -
动态规划算法2——最长公共子序列
今天,我给大家带来的是“最长公共子序列”(LCS)的讲解。限于水平,这里仅介绍O(nm)算法。 最长公共子序列其实是很好理解的。 顾名思义,给出多个(这里暂且只考虑两个)序列,求他们的最长公共子序列,就是在这两个序列中分别删去一些的字符,得到两个相同的序列,使得这两个相同的序列最长。 当然上面是我自己用比较好理解的方法写的,关于某些“百科”上的解释就是“一个序列S,如果分别是两个或多个已知序...原创 2017-03-02 21:29:00 · 1034 阅读 · 0 评论 -
动态规划算法3——最长上升子序列
今天我们要讲的是最长上升子序列(LIS)。 【题目描述】 给定N个数,求这N个数的最长上升子序列的长度。 【样例输入】 7 2 5 3 4 1 7 6 【样例输出】 4 什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段不断严格上升的部分,它不一定要连续。 就像这样:2,3,4,7和2,3,4,6就是序列2 5 3 4 1 7 6的两种选取方案。最长的长度是...原创 2017-07-02 21:27:00 · 451 阅读 · 2 评论 -
Atcoder Educational DP Contest
一、 题目概况 题目来源 完成时间 完成数量 正确率 Atcoder Educational DP Contest 2019/01/24 - 2019/2/2 242424题(除V题和Z题以外) AC:24/2624/2624/26 二、试题分析 A - Frog 1 简单DP。由于只能从前两个石头跳转过来,所以对于每个石头记f(i)f(i)f(i)为到当前为止最优解,则有f(...原创 2019-07-02 23:05:42 · 829 阅读 · 0 评论 -
动态规划4——从两题来看线头DP的基本应用
因为准备中考的缘故,已经半年没有没有接触什么新算法了,博客也是六个月没更新过了。差不多要继续了。那么就开始正文的讨论了。 问题引入 线头DP? 我们见过许多类型的DP,包括序列上的、树或图上的;求最优解的、计数类的……但是这些DP无一例外要遵循一个原则——无后效性。 这个有一点点专业的名次常常在讲DP理论时提到,它简单来说就是前面所做出的的决定不能影响后面的答案。 于是,我们就见到了一些题目:...原创 2019-07-02 22:57:17 · 1408 阅读 · 0 评论 -
斜率优化dp学习
转自orzzz 斜率优化dp学习 用了一堂半的课才彻底搞懂。其他神犇写的博客或多或少有点小bug,所以orzzz不才斗胆重新写一个。 里面大量穿用其他神犇的原话,就不逐一标明出处了。 引用资料 Accept的博客 MathonL的博客 首先是最经典的题的题面。 HDU 3507,很适合的一个入门题。 大概题意就是要输出$N$个数字$a[N]$,输出的时候可...转载 2019-09-19 22:33:32 · 254 阅读 · 0 评论