DP(动态规划)总结
前言
动态规划是很重要的一个知识点,大大小小的比赛总会有一两道DP题,足以说明动态规划的重要性。
动态规划主要是思想,并没有固定的模板,那么,怎么判断题目是不是动态规划呢?
DP题一般都会满足三个条件:子问题重叠、无后效性、最优子结构性质。
动态规划把原问题看作若干个重叠子问题,每个子问题的求解过程都是一个阶段,
动态规划要求当前阶段不会被后续阶段影响(即已经解决的子问题不被后续子问题影响),这便是无后效性。
一般情况下,动态规划在解决最优问题时,每个阶段的最优解应该由前面阶段的最优解导出,这便是最优子结构性质。
知道题目是动态规划后,怎么解决呢?
解决动态规划问题,重点在于状态与状态转移方程:
顾名思义,状态通常指某种情况下目标的某种情况,要注意边界;
状态转移方程指把当前阶段的状态转移到下一个阶段的状态的方程。
状态与状态转移方程因题而异,想要熟练的定义出状态、得出状态转移方程,最主要的方法便是多刷题,DP题做多了自然就知道如何定义了。
具体的各类DP与题目如下。
目录
本蒟蒻在这里总结了一下动态规划的部分知识点,后续会不定期更新。
DP(动态规划)总结的更多相关文章
- Day 5 笔记 dp动态规划
Day 5 笔记 dp动态规划 一.动态规划的基本思路 就是用一些子状态来算出全局状态. 特点: 无后效性--狗熊掰棒子,所以滚动什么的最好了 可以分解性--每个大的状态可以分解成较小的步骤完成 dp ...
- (转)dp动态规划分类详解
dp动态规划分类详解 转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间 ...
- 【模板整合计划】DP动态规划
[模板整合计划]DP动态规划 一:[背包] 1.[01背包] 采药 \([P1048]\) #include<algorithm> #include<cstdio> int T ...
- DP动态规划学习笔记——高级篇上
说了要肝的怎么能咕咕咕呢? 不了解DP或者想从基础开始学习DP的请移步上一篇博客:DP动态规划学习笔记 这一篇博客我们将分为上中下三篇(这样就不用咕咕咕了...),上篇是较难一些树形DP,中篇则是数位 ...
- 树形DP——动态规划与数据结构的结合,在树上做DP
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是算法与数据结构的第15篇,也是动态规划系列的第4篇. 之前的几篇文章当中一直在聊背包问题,不知道大家有没有觉得有些腻味了.虽然经典的文 ...
- [原]POJ1141 Brackets Sequence (dp动态规划,递归)
本文出自:http://blog.csdn.net/svitter 原题:http://poj.org/problem?id=1141 题意:输出添加括号最少,并且使其匹配的串. 题解: dp [ i ...
- DP动态规划练习
先来看一下经典的背包问题吧 http://www.cnblogs.com/Kalix/p/7617856.html 01背包问题 https://www.cnblogs.com/Kalix/p/76 ...
- 5. Longest Palindromic Substring(最长回文子串 manacher 算法/ DP动态规划)
Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...
- 摆花 (DP动态规划)
2012_p3 摆花 (flower.cpp/c/pas) 时间限制: 1 Sec 内存限制: 128 MB提交: 17 解决: 10[提交][状态][讨论版][命题人:外部导入] 题目描述 3. ...
- DP动态规划学习笔记
作为考察范围最广,考察次数最多的算法,当然要开一篇博客来复习啦. 子曰:温故而知新,可以为师矣 我复习DP时有一些自己对DP的理解,也就分享出来吧. ——正片开始—— 动态规划算法,即Dynamic ...
随机推荐
- 数据库服务器和web服务器磁盘占用查询
对于Oracle数据库而言磁盘空间主要体现在表空间上,可使用sql语句进行查看Oracle 表空间的大小及使用情况: select sum(bytes)/1024/1024/1024 "Gb ...
- 查vue版本号
在项目中,找到package.json文件夹 找"dependencies"然后就可以看到你装的vue的版本了.
- 27-ESP8266 SDK开发基础入门篇--编写Android SmartConfig一键配网程序
style="font-size: 18pt;">https://www.cnblogs.com/yangfengwu/p/11429007.html https://wik ...
- 【后缀数组】【LuoguP2852】 [USACO06DEC]牛奶模式Milk Patterns
题目链接 题目描述 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠.我们称之为一个"模式". J ...
- CDH CM版本 6.0.1 升级到 CM 6.2.0 当前最新版本(CentOS 7.x)
CDH 的 6.0.1 是一个尴尬的版本,那时候 cloudera 还没有将 spark 更新到 2.4 还使用的是 spark 2.2版本. 但后来我们发现 2.3 | 2.4 更新了非常多的 fe ...
- OPPO-Java面试-社招-一面(2019/07)
个人情况 2017年毕业,普通本科,计算机科学与技术专业,毕业后在一个二三线小城市从事Java开发,2年Java开发经验.做过分布式开发,没有高并发的处理经验,平时做To G的项目居多.写下面经是希望 ...
- mysql locate()函数
mysql> select * from test; +----+------------+-------+-----------+ | id | name | score | subject ...
- Lararel安装和虚拟主机配置
Laravel 对系统有些要求,当然,所有这些要求 Laravel Homestead 虚拟机都能满足,因此强烈推荐你使用 Homestead 作为你的开发环境. 当然,假如你不使用 Homestea ...
- Docker for mac开启docker api调用
docker-java 支持unix socket调用的 DefaultDockerClientConfig config = DefaultDockerClientConfig.createDefa ...
- @Conditional 和 @ConditionalOnProperty
@ConditionalOnProperty https://blog.csdn.net/dalangzhonghangxing/article/details/78420057 @Condition ...