Peter算法小课堂—动态规划

慈云数据 2024-03-19 技术支持 93 0

Peter来啦,久没有更新了呢

今天,我们来讨论讨论提高组的动态规划。

动态规划

动态规划有好多经典的题,有什么背包问题、正整数拆分、杨辉三角……但是,如果考到陌生的题,怎么办呢?比如说2000年提高组的乘积最大、石子合并……,所以说,我们要理解动态规划的本质。

那么,我们动态规划的第一步就是状态定义

dp的第二步就是填格、写状态转移方程。

最后一步就是根据状态转移方程写代码了。其实,我觉得,dp最难的地方就是第二步,其次就是根据递推式写代码。给大家练一练根据递推式写代码吧。

递推1

那么,代码很简单,长这样👇

#include
using NAMEspace std;
int f[110][1010],n,v,c[110],w[110];
int main()
{
    scanf("%d%d",&v,&n);
    for (int i=1;im;
    for(int i=1; i>;a[i];
	f[0] = 1;
    for(int i=0; i
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon