您当前的位置: 首页 >  动态规划

*DDL_GzmBlog

暂无认证

  • 1浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[Acwing] 算法基础课汇总五 动态规划 一

*DDL_GzmBlog 发布时间:2022-05-12 22:00:19 ,浏览量:1

目录
      • 背包问题
        • 01背包问题
        • 完全背包
        • 多重背包问题 I
        • 多重背包问题 II
        • 分组背包
      • 线性DP
        • 最长上升子序列
        • 最长上升子序列 II
        • 最长公共子序列
        • 最短编辑距离
        • 编辑距离
      • 区间DP
        • 石子合并

背包问题 01背包问题

状态表示 : f [ i ] [ j ] f[i][j] f[i][j] 前 i i i个物品中,体积为 j j j的最大价值

状态转移 : f [ i ] [ j ] = f [ i − 1 ] [ j ] ( j − v < 0 ) f[i][j] =f[i-1][j](j-v>w[i]>>s[i]; for(int i=1;i=0;j--) { for(int k=1;km; for(int i = 1;i>v>>w>>s; for(int k = 1;k= k*v;j--) f[j] = max(f[j],f[j-k*v]+k*w); s-=k; } if(s) { for(int j = m ;j>=s*v;j--) { f[j] = max(f[j],f[j-s*v]+s*w); } } } coutm; for(int i=0;i>s[i]; for(int j=0;j>v[i][j]>>w[i][j]; } } for(int i=0;i=0;j--){ for(int k=0;k=1;k--)也可以 if(j>=v[i][k]) f[j]=max(f[j],f[j-v[i][k]]+w[i][k]); } } } cout

关注
打赏
1657615554
查看更多评论
立即登录/注册

微信扫码登录

0.0463s