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

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

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

      多重背包

      多重背包

      問題描述:給定\(n\)種物品和一個體積為\(V\)的背包,第\(i\)種物品數量為\(m_i\),體積為\(c_i\),價值為\(w_i\)。如何裝填背包使總價值最大?

      通過直接求解,轉移方程式:\(dp[i][j]=\max(dp[i-1][j],dp[i-1][j-k\times c[i]]+k\times w[i]),k\in[1,\min(m[i],\frac{j}{c[i]})]\)。復雜度\(O(V\sum\limits_{i=1}^n m_i)\),超時。

      實際上,多重背包屬于\(0/1\)背包的推廣,易得其可轉換為\(0/1\)背包問題:將第\(i\)種物品視為\(m_i\)種獨立(不同)的物品,并按\(0/1\)背包求解。定義狀態數組\(dp[i][j]\),表示將前\(i\)個物品放入容積為\(j\)的背包時的最大價值。實際上復雜度不變,仍為\(O(V\sum\limits_{i=1}^n m_i)\),超時。

      int dp[n+1][V+1],c[n],w[n],m[n];
      int MultiplePack(){
          for(int i=0;i<=n;i++) dp[i][0]=0;
          for(int i=0;i<=V;i++) dp[0][i]=0;
          for(int i=1;i<=n;i++)
              for(int j=1;j<=V;j++)
                  for(int k=1;k<=m[i]&&k*c[i]<=j;k++)
                      dp[i][j]=max(dp[i][j],dp[i-1][j-k*c[i]]+k*w[i]);
          return dp[n][V];
      }
      

      二進制優化

      原理:倍增。任意十進制整數均可使用2的冪次經過有限次相加得到,以\(2^i(i\in[0,\lceil\log_2m_i\rceil+1])\)順次拆分,最后可能有一個余數。因此使用倍增即可將第\(i\)種物品變為\(\log_2m_i\)個,每個物品體積為\(2^k\times c_i\),價值為\(2^k\times w_i\)

      以下為二進制拆分代碼,之后使用new_nnew_cnew_w\(0/1\)背包求解即可。復雜度\(O(V\sum\limits_{i=1}^n \log_2m_i)\)

      int new_n=0,new_c[N],new_w[N];
      for(int i=1;i<=n;i++){//遍歷每種物品
          for(int j=1;j<=m[i];j<<=1){//遍歷每種物品的個數
              new_n++;
              m[i]-=j;
              new_c[new_n]=j*c[i];
              new_w[new_n]=j*w[i];
          }
          if(m[i]){//若有余數
              new_n++;
              new_c[new_n]=m[i]*c[i];
              new_w[new_n]=m[i]*w[i];
          }
      }
      

      單調隊列優化

      posted @ 2025-04-05 10:45  椰蘿Yerosius  閱讀(24)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 91亚洲国产成人久久蜜臀| 在线免费观看毛片av| 亚洲产在线精品亚洲第一站一| 色窝窝免费播放视频在线| 亚洲人成精品久久久久| 四川丰满少妇无套内谢| 无码国内精品人妻少妇| 四川丰满少妇无套内谢| av在线中文字幕不卡电影网| 亚洲国产成人精品无色码| 一区二区三区四区亚洲综合| 国产偷窥熟女精品视频大全| 国产精品久久国产精麻豆99网站| 麻豆一区二区三区香蕉视频| 四虎国产精品永久在线| 大伊香蕉精品一区视频在线| 国内精品自产拍在线播放| 亚洲精品香蕉一区二区| 亚洲产在线精品亚洲第一站一| 玩弄放荡人妻少妇系列| 久久国产精品精品国产色| 亚洲v欧美v国产v在线观看| 桃花岛亚洲成在人线AV| 黄男女激情一区二区三区| 亚洲av首页在线| av中文字幕在线二区| 成在线人永久免费视频播放| 国产精品亚欧美一区二区三区| 成人无码午夜在线观看| 被灌满精子的少妇视频| 一本久久a久久精品亚洲| 人妻少妇精品中文字幕| 午夜福利宅福利国产精品| 91久久精品美女高潮不断| 国产激情无码一区二区三区| 亚洲综合国产一区二区三区| 国产午夜精品久久精品电影| 老色鬼在线精品视频在线观看| 偷拍视频一区二区三区四区| 亚洲精品在线少妇内射| 欧美黑人巨大xxxxx|