日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【分组背包问题 (HDU 3535 )】

發布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【分组背包问题 (HDU 3535 )】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用到至少選擇一個,所以沒有空間優化
分組背包問題:
常見的三種分組問題:
分成K組:
1、每組最多只能取一件物品
一維數組偽碼:
for 0 to K ?對每一組進行
? ? for W to 0 ? 對每一個代價進行判斷 ///1
? ? ?for all item i in group k ? ? ? ?///2 這行個互換好像也對
? ? ?dp[w]=max(dp[w],dp[w-c[i]]+v[i]; ? 每個重量保證的只有一件物品來取最大值
2、每組隨意取(為01背包問題)******摘抄網絡**既然上面的順序是限制每組最多取一個,那調換一下順序即可,其實就是01背包。******
一維偽碼:
for 0 t0 K
? ? for all item i in group k
? ? ? for W to 0
? ? ? dp[w]=max(dp[w],dp[w-c[i]]+v[i]);
3、每組至少取一個
沒見過一維的偽代碼
用二維:
dp[ki][j]表示當前組的一件物品不選
dp[ki-1][j-w[i]]+v[i] 表示這是在ki組選第一個
dp[ki][j-w[i]]+v[i] 表示在這個ki組中再次選一個
dp[ki][j](處理完后的值)=max(dp[ki][j],dp[ki-1][j-w[i]]+v[i],dp[ki][j-w[i]]+v[i]) max分開的時候要注意順序 max(dp[ki][j],dp[ki-1][j-w[i]]+v[i])......
在初始化時是ki==0(沒有組)這時是dp[0][j]=0 其余的是-inf ******解決一件物品都不取的問題

?

#include <iostream> #include <stdio.h> #include <algorithm> #include <cstring> #define X 10005 #define inf 0x3f3f3f3f using namespace std; int main() {int n,t;int m,s;cin>>n>>t;int dp[105][105];int c[105],g[105];memset(dp,-inf,sizeof(dp));memset(dp[0],0,sizeof(dp[0]));for(int i=1;i<=n;++i)//k組{cin>>m>>s;for(int j=0;j<m;++j){scanf("%d%d",&c[j],&g[j]);}if(s==0){// for(int j=0;j<=t;++j)// dp[i][j]=-1000000;for(int j=0;j<m;++j)for(int p=t;p>=c[j];--p){dp[i][p]=max(dp[i][p],dp[i][p-c[j]]+g[j]);dp[i][p]=max(dp[i][p],dp[i-1][p-c[j]]+g[j]);}}else if(s==1){for(int j=0;j<=t;++j){dp[i][j]=dp[i-1][j];//當前i個組繼承前i-1個組}for(int j=0;j<m;++j){for(int p=t;p>=c[j];--p){dp[i][p]=max(dp[i][p],dp[i-1][p-c[j]]+g[j]);}}}else if(s==2){for(int j=0;j<=t;++j){dp[i][j]=dp[i-1][j];}for(int j=0;j<m;++j){for(int p=t;p>=c[j];--p){// dp[i][p]=max(dp[i][p],dp[i-1][p]);//不取dp[i][p]=max(dp[i][p],dp[i][p-c[j]]+g[j]);//多個//dp[i][p]=max(dp[i][p],dp[i-1][p-c[j]]+g[j]);//一個}}}}// if(dp[n][t]<0)// cout<<-1<<endl;// elsecout<<max(dp[n][t],-1)<<endl;return 0; }

?

總結

以上是生活随笔為你收集整理的【分组背包问题 (HDU 3535 )】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品v欧美精品v日韩精品 | 婷婷伊人网 | 国产9区 | 亚洲精品美女在线观看 | 中文字幕在线观看欧美 | 亚洲一区二区三区电影 | 草草福利视频 | 久久婷婷五月综合色吧 | 亚洲天堂久久久 | 农村妇女毛片 | 啪啪福利社 | 亚洲激情在线观看 | 久久久久91 | 成人在线激情视频 | 一区二区三区四区亚洲 | 天天澡天天狠天天天做 | 欲色av | 国产xxxx做受视频 | 午夜欧美日韩 | 国模无码国产精品视频 | 成人性生交大片免费看96 | 久久青青草视频 | 美女乱淫 | 日本xxx在线播放 | 青青草原国产在线 | 日本一卡二卡在线 | 亚洲色图.com | 粉嫩av蜜桃av蜜臀av | 欧美一级做a爰片久久高潮 久热国产精品视频 | 国产视频1 | 亚洲视频一二三四 | 精品美女视频 | 亚洲一卡二卡在线 | 91成人精品一区在线播放 | 精品人妻一区二区三区日产乱码 | 国产乱仑视频 | 成人污污www网站免费丝瓜 | 久久成人乱码欧美精品一区二区 | 日韩欧美二区三区 | 嫩草影院久久 | 亚洲涩色| 好吊视频一区二区三区四区 | av在线不卡网站 | 99久久久久| 九七影院在线观看免费观看电视 | 久久国产美女视频 | 成人wwxx免费观看 | 51国产偷自视频区视频 | 2019天天操| 天天干,夜夜操 | 男女日批在线观看 | 亚洲a v网站 | 在线观看视频色 | 成人免费在线视频 | 亚洲欧美中文日韩在线v日本 | 成人午夜精品一区二区 | 黄色一级一片 | 久草视频在线免费播放 | 亚洲国产一二 | 91视频专区| 久综合网| 国产av无码专区亚洲av毛片搜 | 九九热这里只有 | 亚洲精品视频在线免费 | 国产99视频在线 | 91高潮大合集爽到抽搐 | 特级西西444www| 国产aa大片 | 日韩精品2区 | 日日噜噜噜噜人人爽亚洲精品 | 动漫美女隐私无遮挡 | 日韩中文字幕一区二区 | 动漫美女舌吻 | 亚洲成a人无码 | 日韩精品免费一区二区在线观看 | 天天操bb | 欧洲a级片| 播放毛片| 一本色道久久综合亚洲精品小说 | 日韩视频一二三 | 午夜福利视频一区二区 | 国产精品国产成人国产三级 | h视频在线免费观看 | 午夜国产福利在线 | 性一交一乱一区二区洋洋av | 最好看的电影2019中文字幕 | 日韩欧美中文字幕一区二区 | 国产理论在线观看 | 干爹你真棒插曲mv在线观看 | 熟女人妻一区二区三区免费看 | 天天干天天干天天操 | 免费观看成人鲁鲁鲁鲁鲁视频 | 日韩在线国产 | 日日干狠狠干 | 理论片中文 | 成人中文字幕在线 | 欧美三级在线播放 | 国产福利一区二区三区在线观看 | 亚洲欧美小视频 |