青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

pku 1882 完全背包?

Posted on 2010-08-02 15:24 Onway 閱讀(315) 評論(0)  編輯 收藏 引用 所屬分類: 傷不起的ACM

pku 1882

題意:
給出多組由不同面值組成的郵票,求出由給出的那些面值能組成連續面額值最大的一組。(具體見原題,做完后發

現是95年的finals,呵呵)

剛看完背包九講的第二講完全背包,百度一下pku 完全背包,看到有說pku1882是一完全背包。按照完全背包去想,

寫出的代碼調了很久,然后越調發現越不像完全背包。完全背包里物品都有一個價值,物品個數不限,而在這個題

目里,都不滿足這兩個條件,可能我太水吧,但我真的不知道怎么能將這個題按完全背包去想。如果說有相似的話

,我覺得就是在狀態設計和遞推順序與完全背包是很相似的,可能吧,就是這個原因,就可以將這個DP分在完全背

包一類中。

思路:
假設郵票沒有張數限制,那么就很像完全背包了(ft!!)。然后對1到1000(最多是(91+92+……100)*10)的各種面額

進行枚舉。同時記錄每一種面額的最小張數。最后做一次統計,張數為0或是大于題目要求的都是不符合的面額。
枚舉的過程是很像完全背包是挺相似的說。

題目的測試數據里有一些毛病,在每一組郵票中,面值為1的郵票是一定出現了的。

 1#include <iostream>
 2using namespace std;
 3const int MAX=961;
 4int dp[12][MAX];
 5int data[12][12];
 6int fmin(int a,int b)
 7{return a<b?a:b;}
 8int main()
 9{
10    int s;
11    while(scanf("%d",&s)&&s)
12    {
13        memset(dp,0,sizeof(dp));
14        int n,i,j,k;
15        scanf("%d",&n);
16        for(i=1;i<=n;++i)
17        {
18            scanf("%d",&data[i][0]);
19            for(j=1;j<=data[i][0];++j)
20            {
21                scanf("%d",&data[i][j]);
22                dp[i][data[i][j]]=1;
23            }
24        }
25        
26        for(i=1;i<=n;++i)
27            for(j=1;j<=data[i][0];++j)
28                for(k=data[i][j]+1;k<=MAX-1;++k)
29                    if(dp[i][k-data[i][j]]==0)
30                        dp[i][k]=0;
31                    else if(dp[i][k]==0)
32                        dp[i][k]=dp[i][k-data[i][j]]+1;
33                    else
34                        dp[i][k]=fmin(dp[i][k],dp[i][k-data[i][j]]+1);
35        
36        for(i=1;i<=n;++i)
37        {
38            for(j=1;j<=MAX-1;++j)
39                if(dp[i][j]==0||dp[i][j]>s)
40                    break;
41            data[i][data[i][0]+1]=j-1;
42        }
43
44        k=1;
45        for(i=2;i<=n;++i)
46            if(data[i][data[i][0]+1]>data[k][data[k][0]+1])
47                k=i;
48            else if(data[k][data[k][0]+1]==data[i][data[i][0]+1]&&data[i][0]<data[k][0])
49                k=i;
50            else if(data[k][data[k][0]+1]==data[i][data[i][0]+1]&&data[k][0]==data[i][0]
51                    &&data[i][data[i][0]]<data[k][data[k][0]])
52                k=i;
53    
54        printf("max coverage = %d : ",data[k][data[k][0]+1]);
55        for(i=1;i<=data[k][0];++i)
56            printf("%d ",data[k][i]);
57        printf("\n");
58    }
59    return 0;
60}
61

今天看了二維費用的背包才知道,原來這個題是屬于二維費用背包的。當然二維費用的背包,也是基于0-1背包或是完全背包的。
用二維費用的方法再寫了一次這個題,時間和內存都沒有上面那個好。
 1#include <iostream>
 2using namespace std;
 3int d[12][12][1002];
 4int test[12][13];
 5int fmax(int a,int b)
 6{return a>b?a:b;}
 7int main()
 8{
 9    int s,n;
10    while(scanf("%d",&s)&&s)
11    {
12        scanf("%d",&n);
13        int i,j,k,l;
14        for(i=1;i<=n;++i)
15        {
16            scanf("%d",&test[i][0]);
17            for(j=1;j<=test[i][0];++j)    scanf("%d",&test[i][j]);
18        }

19
20        memset(d,0,sizeof(d));
21        for(i=1;i<=n;++i)
22        {
23            for(j=1;j<=test[i][0];++j)
24                for(k=1;k<=s;++k)
25                    for(l=test[i][j];l<=1000;++l)
26                        d[i][k][l]=fmax(d[i][k][l],d[i][k-1][l-test[i][j]]+test[i][j]);
27            for(j=1;j<=1000;++j)
28                if(d[i][s][j]!=j)
29                    break;
30            test[i][test[i][0]+1]=j-1;
31        }

32
33        k=1;
34        for(i=2;i<=n;++i)
35            if(test[i][test[i][0]+1]>test[k][test[k][0]+1])
36                k=i;
37            else if(test[i][test[i][0]+1]==test[k][test[k][0]+1]
38                &&test[i][0]<test[k][0])
39                k=i;
40            else if(test[i][test[i][0]+1]==test[k][test[k][0]+1]
41                &&test[i][0]==test[k][0]
42                &&test[i][test[i][0]]<test[k][test[k][0]])
43                k=i;
44
45        printf("max coverage = %d : ",test[k][test[k][0]+1]);
46        for(i=1;i<=test[k][0];++i)
47            printf("%d ",test[k][i]);
48        printf("\n");
49    }

50    return 0;
51}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩精品在线| 亚洲少妇在线| 亚洲欧美日韩电影| 一区二区三区欧美激情| 久久久精品五月天| 欧美亚洲一区二区三区| 久久99伊人| 免费成人av资源网| 欧美成人午夜激情在线| 欧美伦理91i| 国产精品扒开腿做爽爽爽软件| 国产精品视频一区二区三区| 国产日韩欧美另类| 一区二区在线视频播放| 亚洲精品国产精品国自产观看浪潮| 久久蜜桃精品| 香蕉成人啪国产精品视频综合网| 在线视频免费在线观看一区二区| 亚洲视频在线观看视频| 午夜欧美不卡精品aaaaa| 久久综合伊人| 国产精品久久久久久超碰| 精品91在线| 亚洲欧美经典视频| 欧美激情精品久久久久久蜜臀| 一区二区三区欧美亚洲| 久久先锋影音| 国产乱理伦片在线观看夜一区| 亚洲国产欧美一区二区三区同亚洲 | 亚洲一区二区在线免费观看视频 | 亚洲午夜激情在线| 久久九九热免费视频| 亚洲高清中文字幕| av成人黄色| 嫩草影视亚洲| 精品成人一区| 久久国产精品第一页 | 欧美制服丝袜第一页| 欧美精品日韩一区| 亚洲国产女人aaa毛片在线| 欧美中文字幕精品| 一区二区高清视频| 欧美精品尤物在线| 一区一区视频| 久久久久国产精品麻豆ai换脸| 99精品福利视频| 欧美日本国产| 亚洲精品国产日韩| 欧美成人官网二区| 久久亚洲国产精品日日av夜夜| 国产欧美欧美| 久久精品国产999大香线蕉| 中国女人久久久| 欧美手机在线| 亚洲女人av| 亚洲欧洲在线免费| 久久精品国产清高在天天线 | 久久亚洲国产成人| 亚洲综合社区| 国产精品嫩草99av在线| 一级日韩一区在线观看| 亚洲国产精品电影| 欧美超级免费视 在线| 模特精品裸拍一区| 欧美高清不卡在线| 在线观看视频一区二区| 乱人伦精品视频在线观看| 久久精品理论片| 韩日在线一区| 欧美成年视频| 欧美欧美全黄| 亚洲欧美久久| 午夜在线观看免费一区| 国语精品中文字幕| 欧美大片在线观看| 欧美区一区二| 亚洲欧美日韩网| 欧美一级播放| 亚洲东热激情| 亚洲每日更新| 国产一区二区精品丝袜| 免费永久网站黄欧美| 久久午夜av| 日韩一级黄色av| 在线视频日韩精品| 黑丝一区二区三区| 亚洲精品久久嫩草网站秘色| 国产精品久久久久国产a级| 欧美一级在线播放| 久久精品国产69国产精品亚洲| 亚洲国产三级网| 亚洲婷婷综合久久一本伊一区| 国产一区亚洲| 91久久香蕉国产日韩欧美9色| 欧美日韩和欧美的一区二区| 亚洲欧美综合精品久久成人| 欧美一区二区在线播放| 日韩亚洲在线观看| 久久精品二区亚洲w码| 99综合精品| 久久久久久伊人| 亚洲影院免费观看| 另类亚洲自拍| 欧美一区二区三区久久精品茉莉花| 久久久久女教师免费一区| 99视频一区二区| 久久九九国产| 亚洲欧美视频在线观看视频| 久久精品免视看| 亚洲一级在线观看| 免费观看久久久4p| 久久精品国产成人| 欧美日韩成人| 欧美激情 亚洲a∨综合| 一二三区精品| 亚洲激情av| 欧美在线视频免费播放| 亚洲天堂av电影| 农村妇女精品| 免费在线观看日韩欧美| 国产人成一区二区三区影院 | 一区二区三区免费观看| 精品福利电影| 小黄鸭精品aⅴ导航网站入口| 99国产麻豆精品| 欧美 日韩 国产 一区| 麻豆成人在线观看| 久久国产一二区| 欧美激情视频在线免费观看 欧美视频免费一| 午夜精彩国产免费不卡不顿大片| 欧美成人在线影院| 欧美成人免费视频| 激情自拍一区| 久久国产视频网站| 久久精品视频在线免费观看| 欧美亚男人的天堂| 99精品99| 亚洲性夜色噜噜噜7777| 欧美精品久久久久久久免费观看| 蜜臀久久久99精品久久久久久| 国产日韩欧美三级| 亚洲欧美在线播放| 欧美福利在线观看| 欧美三区视频| 欧美韩日亚洲| 亚洲精品乱码久久久久久日本蜜臀 | 午夜亚洲福利在线老司机| 销魂美女一区二区三区视频在线| 欧美日韩精品在线| 亚洲人成网站精品片在线观看| 在线观看亚洲视频啊啊啊啊| 久久精品五月| 欧美韩日一区二区| 亚洲欧洲日本在线| 欧美日精品一区视频| 亚洲制服少妇| 另类酷文…触手系列精品集v1小说| 激情成人综合网| 欧美激情成人在线| 在线中文字幕一区| 久久理论片午夜琪琪电影网| 加勒比av一区二区| 欧美精品亚洲一区二区在线播放| 日韩视频免费大全中文字幕| 午夜一区二区三区不卡视频| 加勒比av一区二区| 欧美日韩在线影院| 久久精品99| 99国内精品久久| 久久久不卡网国产精品一区| 亚洲图片欧美一区| 蜜臀久久99精品久久久画质超高清 | 亚洲一区二区三区久久| 国产精品福利在线观看| 亚洲影院色在线观看免费| 美女在线一区二区| 亚洲永久在线| 一区二区三区在线观看欧美| 欧美精选一区| 久久久噜噜噜久久中文字免| 亚洲精品国产精品久久清纯直播| 欧美专区18| 中文日韩电影网站| 亚洲国产精品一区| 国产精品视频你懂的| 亚洲精品久久7777| 国内精品嫩模av私拍在线观看 | 亚洲激情国产| 久久精品1区| 亚洲制服少妇| 亚洲精品影院在线观看| 国产在线播放一区二区三区| 欧美日本一区| 免费观看一级特黄欧美大片| 欧美一级午夜免费电影| 亚洲精品一区在线观看| 欧美国内亚洲| 鲁大师成人一区二区三区| 久久精品久久综合| 欧美一区二区三区喷汁尤物|