多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > hdu 3127 完全背包 二維限制條件 放置順序相關性

hdu 3127 完全背包 二維限制條件 放置順序相關性

來源:程序員人生   發布時間:2015-04-01 07:50:57 閱讀次數:2731次

背景:這個題實在沒法,看的題解的思路,確切很難想到。也算明白了背包問題只是母題,其生的兒子,常常找不出來原來的母親了。

思路:把矩形的長和寬兩個參數看作完全背包的限制條件,所以在選取每個物品的時候操作的都不再是以為數組,而是2維數組。切割方式就是當前選擇的物品作為第1個矩形,在大矩形的右下角切,有4種情況。這個題的最大的注意點是:1般的完全背包問題,對物品的選擇順序是沒有要求的,所以限制條件的循環和物品選擇的循環是可以互換的,但是這個題,對每個大矩形,在右下角首先選擇哪個物品作為第1個物品是有影響的,所以把物品選擇循環設為內循環,沒有次都對n個物品做第1個物品做判斷。

學習:1.既然有可能遇見對選擇順序有要求的完全背包問題,而且順序是不是有影響本身就是很難判斷的,那末以后就統1把物品循環放在內循環。

我的代碼:

#include<cstdio> #include<iostream> #include<cstring> using namespace std; int F[1009][1009],w[10][3]; int main(void){ int t,n,x,y; scanf("%d",&t); while(t--){ scanf("%d%d%d",&n,&x,&y); for(int i=0;i < n;i++) scanf("%d%d%d",&w[i][0],&w[i][1],&w[i][2]); memset(F,0,sizeof(F)); for(int i=0;i <= x;i++) for(int j=0;j <= y;j++){ for(int k=0;k < n;k++){ if(w[k][0] <= i && w[k][1] <= j){ F[i][j]=max(F[i][j],F[i-w[k][0]][j]+F[w[k][0]][j-w[k][1]]+w[k][2]); F[i][j]=max(F[i][j],F[i][j-w[k][1]]+F[i-w[k][0]][w[k][1]]+w[k][2]); } swap(w[k][0],w[k][1]); if(w[k][0] <= i && w[k][1] <= j){ F[i][j]=max(F[i][j],F[i-w[k][0]][j]+F[w[k][0]][j-w[k][1]]+w[k][2]); F[i][j]=max(F[i][j],F[i][j-w[k][1]]+F[i-w[k][0]][w[k][1]]+w[k][2]); } swap(w[k][0],w[k][1]); } } printf("%d ",F[x][y]); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲午夜久久久久中文字幕 | 天啦噜tianlalu精品视频 | 日本视频在线观看不卡高清免费 | 一区二区三区在线视频观看 | 欧美激情在线精品一区二区 | 日本女人一级片 | 国产女人精品性视频 | 在线国产视频观看 | 亚洲人成人| 欧美性美| 国产精品成人一区二区三区 | 手机在线精品视频每日更新 | 国内外精品免费视频 | 一区二区在线不卡 | 成人性色生活片免费看爆迷你毛片 | 一区二区三区中文 | 一区视频在线播放 | 久久久精品免费 | 日本高清www免费视频软件 | 亚洲欧美在线综合一区二区三区 | 法国18sexxxx性xxx| 亚洲精品美女视频 | 免费精品美女久久久久久久久久 | vvvv99日韩精品亚洲 | 综合 欧美 亚洲日本 | 性欧美精品xxxx | 国产在线a不卡免费视频 | 爱爱永久免费视频网站 | 亚洲精品亚洲人成在线 | 国产欧美一区二区三区免费看 | 性色按摩过程小说 | 欧美精品国产精品 | 青青草原手机在线视频 | 91人人| 日韩欧美国产高清 | 久久久www成人免费精品 | 精品三级内地国产在线观看 | 亚洲乱码一区二区三区在线观看 | 日本啊啊视频 | 欧美中文小说在线观看 | 久久久国产这里有的是精品 |