<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Kai’blog

      技術博客

      【動態規劃】裝箱問題

      原題傳送門

      思路


      這道題乍看有點難度,但其實就是個容量等于價格的背包問題QAQ。

      關于背包問題,詳見我的另一篇博文:【洛谷】采藥

      此題只要把上一題的代碼稍作做些修改即可~

      設dp[i][j]為前i個物體裝入容量為j的背包的最大價值,w[i],v[i]分別為第i個物品的重量和價格。

      狀態轉移方程為:

      dp[i][j]=dp[i-1][j]                               (j<w[i])
      dp[i][j]=max{dp[i-1][j],dp[i-1][j-w[i]]+v[i]}     (j≥w[i])
      

      水代碼開始~(逃~~~)

      Code


      //經典背包,無需解釋 
      #include<iostream>
      #include<cstdio>
      #include<cmath>
      
      using namespace std;
      
      int T,M,w[31],v[31],dp[31][20001];
      
      int main()
      {
         //初始化 
         for(int i=1;i<=M;i++)
         {
             dp[i][0]=0;
         }
         for(int i=1;i<=T;i++)
         {
             dp[0][i]=0;
         }
         
         //讀入 
         scanf("%d%d",&T,&M);
         for(int i=1;i<=M;i++)
         {
             scanf("%d",&w[i]);
             v[i]=w[i];
         }
         
         //裝叉走起
         for(int i=1;i<=M;i++)
         {
             for(int j=1;j<=T;j++)
             {
                 if(j<w[i])
                 {
                     dp[i][j]=dp[i-1][j];
                 }
                 else
                 {
                     dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);
                 }
             } 
         }
         
         //輸出
         printf("%d",T-dp[M][T]);
         
         return 0;
      }
      

      此外還可以把空間壓為一維。

      Code2.0


      //經典背包,無需解釋 
      #include<iostream>
      #include<cstdio>
      #include<cmath>
       
      
      using namespace std;
      
      int T,M,w[31],v[31],dp[20001];
      
      int main()
      {
         for(int i=1;i<=T;i++)
         {
             dp[i]=0;
         }
         scanf("%d%d",&T,&M);
         for(int i=1;i<=M;i++)
         {
             scanf("%d",&w[i]);
             v[i]=w[i];
         }
         for(int i=1;i<=M;i++)
         {
             for(int j=T;j>=1;j--)
             {
                 if(j>=w[i])
                     dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
             } 
         }
         printf("%d",T-dp[T]);
         return 0;
      }
      
      posted @ 2019-09-01 18:41  Kai02  閱讀(2027)  評論(0)    收藏  舉報
      Copyright ? 2019-2020 拱大塏. All rights reserved.
      主站蜘蛛池模板: 亚洲成色精品一二三区| 久久亚洲精品11p| 国产精品亚洲аv无码播放| 国产高清在线男人的天堂| 国内精品久久久久影院日本| 久久精品人人槡人妻人人玩| 宽城| 色一情一乱一区二区三区码| 亚洲国产精品一区在线看| 内射老妇bbwx0c0ck| 亚洲国产成人va在线观看天堂| 91精品国产自产91精品| 久久人人97超碰人人澡爱香蕉| 啊灬啊灬啊灬快灬高潮了电影片段 | 日韩av日韩av在线| 日本一区二区中文字幕久久| 日韩精品亚洲专在线电影| 鄂温| 成人午夜视频在线| 国产乱人伦AV在线麻豆A| 2020国产欧洲精品网站| 欧美成人aaa片一区国产精品| 久久碰国产一区二区三区| 久久永久视频| 色综合色综合色综合久久| 久久这里都是精品一区| 麻豆国产成人AV在线播放| 亚洲最大日韩精品一区| 特黄特色的大片观看免费视频 | 人人澡人摸人人添| 上饶市| 狠狠色丁香婷婷综合尤物| 久久中文字幕一区二区| 天天摸天天做天天爽水多| 亚洲免费人成在线视频观看| 国产999精品2卡3卡4卡| 湖北省| 久久天天躁狠狠躁夜夜2020老熟妇| 亚洲日韩欧美丝袜另类自拍| 色窝窝免费播放视频在线| 国产精品视频白浆免费视频|