DP动态规划C/C++ (必懂) P1091 [NOIP2004 提高组] 合唱队形 1259:【例9.3】求最长不下降序列 P1255 数楼梯 1837:【04NOIP提高组】合唱队形

说起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
&#
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值