算法——C/动态规划

一、动态规划基础

什么是DP

DP(动态规划)全称Dynamic Programming,是运筹学的一个分支,是一种将复杂问题分解成很多重叠的子问题,并通进子问题的解得到整个问题的解的眼一种算法在动态规划中有一些概念:

状态:就是形如dp[ i ] [ j ]= val 的噉值,其中i、j为下标,也是用于描述、确定状态所需的变其中val 为状态值。

状态转移:状态与状态之间的转移关系,一般可以表示为一个数学表达式,转移方向决定了迭代或递归方向。

最终状态:也就是题目所求的状态,最后的答案。

分析步骤

1.确定状态,一般为"到第i个为止xx为j(xx为k)的方案数/最小代价/最大价值",可以根据数据范围和复杂度来推理。

2.确定状态转移方程,即从已知状态得到新状态的方法,并确保按照这个方向一定可以正确地得到最终状态。

根据状态转移的方向来决定使用迭代法还是递归法、记忆法

3.确定最终状态并输出。

数字三角

线性dp、

二维dp、

LIS、

LCS

相关推荐
AI科技星几秒前
基于v≡c第一性原理:密度的本质与时空动力学
人工智能·学习·算法·机器学习·数据挖掘
kishu_iOS&AI几秒前
机器学习 —— 聚类算法
人工智能·算法·机器学习·聚类
FluxMelodySun7 分钟前
机器学习(三十一) 半监督SVM与图半监督学习
人工智能·算法·机器学习
磊 子15 分钟前
八大排序之插入排序+希尔排序
数据结构·算法·排序算法
kishu_iOS&AI15 分钟前
机器学习 —— 逻辑回归(混淆矩阵)
人工智能·算法·机器学习·逻辑回归
W230357657319 分钟前
经典算法:打家劫舍(动态规划 + 回溯求最优解)C++ 超详细解析
c++·算法·动态规划
Dev7z19 分钟前
基于改进小波阈值的sEMG信号降噪与手势识别系统设计与实现
算法·手势识别·改进小波阈值·semg·信号降噪
灵感__idea8 小时前
Hello 算法:贪心的世界
前端·javascript·算法
澈2079 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202429 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先