动态规划(Dynamic Programming,DP),简称动规,或DP,是运筹学的一个分支,是求解决策过程最优化的过程。其思想是将一个问题分解为若干个子问题,对每个子问题求最优解,前一个子问题的最优解,为下面的子问题提供了有效信息,依次解决子问题,最后一个子问题就是初始问题的最优解。动态规划应用于子问题重叠的情况,子问题的划分是通过递归实现。为了避免子问题的重复计算,保证每个子问题只求解一次,会将解保存在数组中。
动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,蓝桥杯ACM等竞赛当中,广泛在背包问题、生产经营、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性等问题背景中使用,是算法竞赛中的份量极高的算法之一
| 序号 | 标题 |
|---|---|
| 1 | 动态规划DP算法详解 |
| 2 | 什么是动态规划? |
| 3 | 动态规划概念和实例讲解 |
| 4 | 什么是记忆化搜索? |
| 5 | 记忆化搜索实例讲解 |
| 6 | 超详细背包DP九讲(算法分析+问题分析+代码分析) |
| 7 | 区间DP实例讲解 |
| 8 | DAG上的DP实例讲解 |
| 9 | 树形DP概念和实例讲解 |
| 10 | 数位DP概念和实例讲解 |
| 11 | 什么是状态压缩DP? |
| 12 | 状态压缩DP图文实例讲解(一) |
| 13 | 状态压缩DP图文实例讲解(二) |
| 14 | 什么是哈希? |
| 15 | 插头DP图文实例讲解 |
| 16 | 计数DP实例讲解 |
| 17 | 什么是概率DP? |
| 18 | 概率DP实例讲解 |
| 19 | 什么是线性DP? |
| 20 | 线性DP图文实例讲解 |
| 21 | 动态DP实例讲解 |
| 22 | DP优化(一)单调队列/单调栈优化实例讲解 |
| 23 | DP优化(二)斜率优化实例讲解 |
| 24 | DP优化(三)四边形不等式优化实例讲解 |
| 题号 | 标题 | 解决/提交 | ||
|---|---|---|---|---|
| 1177 | 三角形 | 中等题 | 3417/8175 | |
| 1255 | 蓝桥杯算法提高-能量项链 | 中等题 | 3033/9214 | |
| 1280 | 找啊找啊找GF | 中等题 | 229/671 | |
| 1281 | 乘法游戏 | 中等题 | 0/379 | |
| 1282 | 公交汽车 | 中等题 | 1495/3014 | |
| 1283 | [NOIP2001]装箱问题 | 中等题 | 777/1620 | |
| 1290 | 奶牛的锻炼 | 中等题 | 163/799 | |
| 1301 | 尼克的任务 | 中等题 | 104/274 | |
| 1305 | 老管家的忠诚 | 中等题 | 104/656 | |
| 1311 | 数字三角形 | 中等题 | 973/1573 | |
| 1312 | 最大的算式 | 中等题 | 72/174 | |
| 1313 | 字符串的距离 | 中等题 | 88/642 | |
| 1314 | 乘积最大 | 中等题 | 133/203 | |
| 1316 | 最长不下降子序列的长度 | 中等题 | 895/1897 | |
| 1317 | 最长公共子序列lcs | 中等题 | 829/2816 | |
| 1318 | 选课 | 中等题 | 57/233 | |
| 1319 | 没有上司的晚会 | 中等题 | 60/160 | |
| 1322 | 沙子合并 | 中等题 | 160/341 | |
| 1328 | 移动服务员 | 中等题 | 23/79 | |
| 1329 | 合并傻子 | 中等题 | 46/101 | |
| 1331 | 新三国争霸 | 中等题 | 39/54 | |
| 1340 | [NOIP2003]加分二叉树 | 中等题 | 37/85 | |
| 1342 | 硬币游戏 | 中等题 | 47/101 | |
| 1343 | 数字三角形2 | 中等题 | 94/272 | |
| 1345 | 删数 | 中等题 | 46/75 |