XP02第4天学习笔记#创作计划#
2025-08-06 20:51:30
发布于:浙江
动态规划(DP)
可以解决的问题:
- 最值问题
- 方案数问题
- 可行性问题
第一步:设动态规划数组(确定状态表示)
dp[i]: 第 i 步的方案数是多少 / 走到第 i 步的最大 / 小花费是多少
dp[i][j]: 走到第 i 行第 j 列的方案数 / 最大值 / 最小值
第二步:写出状态转移方程(递推式)
方案数:
最大值:
最小值:
第三步:初始化
确定dp[1]是多少就差不多了
求最小值
for(int i=1;i<=n;i++) dp[i]=1e9;
memset(dp,0x3f,sizeof(dp)) // 把数组中所有的值赋值成某一个数字
dp[1]=0;
第四步:求出答案
dp[n]
dp[n][m]
这里空空如也
有帮助,赞一个