左程云动态规划笔记(自写)
需积分: 0 31 浏览量
更新于2023-08-17
收藏 3.98MB PDF 举报
动态规划笔记
动态规划是一种算法思想,解决问题的思路是将问题拆分成小问题,然后逐步解决小问题,最后将解决方案组合起来。今天,我们将学习动态规划的基本概念和实践应用。
动态规划计算模型
动态规划计算模型可以分为两种:从左往右尝试模型和范围尝试模型。
从左往右尝试模型
从左往右尝试模型是指从左边开始尝试,直到达到目标结果。例如,汉诺塔问题就是一个典型的从左往右尝试模型。汉诺塔问题的解决思路是将一个圆盘从A柱子移到C柱子,过程中借助B柱子。
范围尝试模型
范围尝试模型是指在一个范围内尝试不同的解决方案,例如机器人走路问题。机器人走路问题的解决思路是从初始位置M移动到目标位置K,过程中可以走左边或右边。
机器人走路问题
机器人走路问题是指机器人从初始位置M移动到目标位置K的走法有多少种。这个问题可以使用动态规划解决。解决思路是将机器人的移动分为两个方向:左边和右边,然后使用递归函数来解决问题。
最长公共子序列问题
最长公共子序列问题是指两个字符串中最长的公共子序列。这个问题可以使用动态规划解决。解决思路是将两个字符串分为小问题,然后逐步解决小问题,最后将解决方案组合起来。
最长回文自序问题
最长回文自序问题是指一个字符串中最长的回文自序列。这个问题可以使用动态规划解决。解决思路是将字符串分为小问题,然后逐步解决小问题,最后将解决方案组合起来。
字符串转化问题
字符串转化问题是指将一个数字字符组成的字符串转化成对应的字母字符串。这个问题可以使用动态规划解决。解决思路是将字符串分为小问题,然后逐步解决小问题,最后将解决方案组合起来。
动态规划是一种非常有用的算法思想,可以解决很多复杂的问题。通过实践和练习,我们可以更好地掌握动态规划的思想和技术。
代码实现
下面是机器人走路问题的代码实现:
```cpp
int RobotWork(int N, int P, int M, int K) {
if (P == 0) {
if (M == K) return 1;
else return 0;
} else {
if (M == 1) {
return RobotWork(N, P - 1, 2, K);
} else if (M == N) {
return RobotWork(N, P - 1, M - 1, K);
} else {
return RobotWork(N, P - 1, M - 1, K) + RobotWork(N, P - 1, M + 1, K);
}
}
}
```
下面是字符串转化问题的代码实现:
```cpp
int process(vector<char> str, int i) {
if (i == str.size()) {
return 1;
} else {
return process(str, i + 1) + process(str, i + 2);
}
}
```
这些代码实现了动态规划的思想,即将问题拆分成小问题,然后逐步解决小问题,最后将解决方案组合起来。
迷·夜辉
- 粉丝: 11
- 资源: 1
最新资源
- DIN 3949-1998 非焊接压缩耦合件.根据DIN EN ISO 8434-1压缩端型用喇叭形连接件.pdf
- DIN 3859-2-1999 管螺纹连接.第2部分带符合DIN2353有孔圆刀片的非焊接管螺纹连接件用安装指南.pdf
- DIN 1912-4-1981 焊接.钎焊图样表示法.焊口和焊缝的术语和名称.pdf
- DIN 1913-1-1984 非合金钢.低合金钢连接焊接用的棒形电极.分类.标记.交货技术条件.pdf
- DIN 6700-6-2002 中文版 铁路车辆及车辆部件的焊接.第6部分外轮廓材料、填充金属和焊接工艺.pdf
- DIN 6700-2-2001 中文版 铁路车辆及车辆部件的焊接.第2部分机车材料焊接工的资格鉴定.质量保证.pdf
- DIN 6700-4-2001 中文版 铁路车辆及车辆部件的焊接.第4部分执行规则.pdf
- DIN 6700-3-2003 中文版 铁路车辆及车辆部件的焊接.第3部分设计规则.pdf
- DIN 6700-5-2002 中文版 铁路车辆及车辆部件的焊接.第5部分质量要求.pdf
- DIN 17102-1983 适于焊接的细晶粒结构钢(英文).pdf
- DIN 17103-1989 适合焊接的细晶粒结构钢制造的锻件交货技术条件.pdf
- DIN 17103-1989 中文版 适合焊接的细晶粒结构钢制造的锻件 交货技术条件.pdf
- DIN 17115-1987 中文版 焊接圆环链用钢 交货技术条件.pdf
- DIN 17120-1984 一般结构用焊接钢管Welded Circular Steel Tubes for Structural Steelwork.pdf
- DIN 17123-1986 中文版 钢结构用细晶粒结构钢焊接圆形钢管 交货技术条件.pdf
- DIN 17145-1980 焊接添加料用的圆线材.交货技术条件(英文版).pdf