说起DP,相信点进来的小伙伴们都深受其害
应该很多人和我一样, 导师讲的时候开小差懒得听, 但是课下做题时却一头雾水
所以此篇博客专为想要入门DP的小伙伴们而写,相信大家都能看懂
(如果看懂了就请小伙伴们给我点一个不要钱的赞吧)
(下面有投票)
目录
#概念
#INTRO
#START
#例题
AC
#概念
DP的概念说实话很难懂反正我是懒得看
- 阶段:把所给问题的求解过程恰当地分成若干个相互联系的阶段,以便于求解。过程不同,阶段数可能不同。描述阶段的变量称为阶段变量,常用k表示。阶段的划分一般是根据时间和空间的自然特征来划分,但要便于把问题的过程转化为多阶段决策的过程。
- 状态:状态表示每个阶段开始面临的自然状况或客观条件,它不以人们的主观意志为转移,也称为不可控因素。通常一个阶段有若干状态,状态通常可以用一个或一组数来描述,称为状态变量。
- 决策:表示当过程处于某一阶段的某个状态的时候,可以做出不同的决定,从而确定下一阶段的状态。这种决定称为决策。不同的决策对应着不同的数值,描述决策的变量称决策变量。
- 状态转移方程:动态规划中本阶段的状态往往是上一阶段的状态和上一阶段的决策的结果。由第i段段状态f(i),和决策u(i)来确定第i+1段段状态。状态转移表示为F(i+1)=T(f(i),u(i)),称为状态转移方程。
- 策略:各个阶段决策确定后,整个问题的决策序列就构成了一个决策,对于每个实际问题,可供选择的决策有一定范围,称为允许策略集合。允许策略集合中达到最优效果的策略称为最优策略。
- 必须满足最优化原理和无后效性。
#INTRO
先来看一道题:(熟练掌握递归的可以跳过)
# 数楼梯
## 题目描述
楼梯有 $N$ 阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。
## 输入格式
一个数字,楼梯数。
## 输出格式
输出走的方式总数。
## 样例 #1
### 样例输入 #1
```
4
```
### 样例输出 #1
```
5
&#