亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

UVA 11100 The Trip, 2007 水題一枚

系統 1985 0

題目鏈接: UVA - 11100

題意描述:n個旅行箱,形狀相同,尺寸不同,尺寸小的可以放在尺寸大的旅行箱里。現在要求露在最外面的旅行箱的數量最少的同時滿足一個旅行箱里放的旅行箱的數量最少。求出這樣滿足要求的任意一種方案。

算法分析:首先我們可以確定最少的旅行箱的數量cnt:即n個旅行箱里按照尺寸大小分類(尺寸相同的在同一類),數量最多的那一類的數量。然后把cnt看成有cnt個堆,第二個要求就是要讓這cnt個堆里最大旅行箱數量最小,直接用vector處理即可。

等AC之后突然想到,三個旅行箱尺寸大小為2,2,4,那么就可以把前兩個放在最后一個呀,但答案不是這樣的。-_-

      
         1
      
       #include<iostream>


      
         2
      
       #include<cstdio>


      
         3
      
       #include<cstring>


      
         4
      
       #include<cstdlib>


      
         5
      
       #include<cmath>


      
         6
      
       #include<algorithm>


      
         7
      
       #include<vector>


      
         8
      
      
        #define
      
       inf 0x7fffffff


      
         9
      
      
        using
      
      
        namespace
      
      
         std;


      
      
        10
      
      
        const
      
      
        int
      
       maxn=
      
        10000
      
      +
      
        10
      
      
        ;


      
      
        11
      
      
        const
      
      
        int
      
       M = 
      
        1000000
      
      +
      
        10
      
      
        ;


      
      
        12
      
      
        13
      
      
        int
      
      
         n,an[maxn];


      
      
        14
      
      
        int
      
      
         vis[M],num[maxn];


      
      
        15
      
       vector<
      
        int
      
      >
      
         vec[maxn];


      
      
        16
      
      
        17
      
      
        int
      
      
         main()


      
      
        18
      
      
        {


      
      
        19
      
      
        int
      
       ok=
      
        0
      
      
        ;


      
      
        20
      
      
        while
      
       (scanf(
      
        "
      
      
        %d
      
      
        "
      
      ,&n)!=EOF &&
      
         n)


      
      
        21
      
      
            {


      
      
        22
      
      
        if
      
       (ok) printf(
      
        "
      
      
        \n
      
      
        "
      
      
        );


      
      
        23
      
               ok=
      
        1
      
      
        ;


      
      
        24
      
               memset(vis,
      
        0
      
      ,
      
        sizeof
      
      
        (vis));


      
      
        25
      
      
        for
      
       (
      
        int
      
       i=
      
        0
      
       ;i<maxn ;i++
      
        ) vec[i].clear();


      
      
        26
      
      
        int
      
       cnt=
      
        0
      
      ,maxSize=
      
        0
      
      
        ;


      
      
        27
      
      
        for
      
       (
      
        int
      
       i=
      
        1
      
       ;i<=n ;i++
      
        )


      
      
        28
      
      
                {


      
      
        29
      
                   scanf(
      
        "
      
      
        %d
      
      
        "
      
      ,&
      
        an[i]);


      
      
        30
      
                   vis[an[i] ]++
      
        ;


      
      
        31
      
                   cnt=
      
        max(cnt,vis[an[i] ]);


      
      
        32
      
                   maxSize=
      
        max(maxSize,an[i]);


      
      
        33
      
      
                }


      
      
        34
      
               sort(an+
      
        1
      
      ,an+n+
      
        1
      
      
        );


      
      
        35
      
      
        int
      
       c=
      
        0
      
      
        ;


      
      
        36
      
      
        for
      
       (
      
        int
      
       i=
      
        1
      
       ;i<=n ;i++
      
        )


      
      
        37
      
      
                {


      
      
        38
      
      
                    vec[c].push_back(an[i]);


      
      
        39
      
                   c=(c+
      
        1
      
      )%
      
        cnt;


      
      
        40
      
      
                }


      
      
        41
      
               printf(
      
        "
      
      
        %d\n
      
      
        "
      
      
        ,cnt);


      
      
        42
      
      
        for
      
       (
      
        int
      
       i=
      
        0
      
       ;i<cnt ;i++
      
        )


      
      
        43
      
      
                {


      
      
        44
      
      
        int
      
       k=
      
        vec[i].size();


      
      
        45
      
                   printf(
      
        "
      
      
        %d
      
      
        "
      
      ,vec[i][
      
        0
      
      
        ]);


      
      
        46
      
      
        for
      
       (
      
        int
      
       j=
      
        1
      
       ;j<k ;j++) printf(
      
        "
      
      
         %d
      
      
        "
      
      
        ,vec[i][j]);


      
      
        47
      
                   printf(
      
        "
      
      
        \n
      
      
        "
      
      
        );


      
      
        48
      
      
                }


      
      
        49
      
      
            }


      
      
        50
      
      
        return
      
      
        0
      
      
        ;


      
      
        51
      
       }
    

?

UVA 11100 The Trip, 2007 水題一枚


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 毛片免费看看 | 欧美黄业 | 亚洲精品二区中文字幕 | 性欧美4k高清精品 | 久99久精品免费视频热77 | 亚洲黄色a | 国产专区在线播放 | 久久综合给合久久狠狠狠97色 | 久久精品欧美一区二区 | 四虎精品视频在线永久免费观看 | 欧美性性性性性色大片 | 国产高清精品自在久久 | 人人爽天天碰天天躁夜夜躁 | 欧美理论大片清免费观看 | 国产成人精品高清在线观看99 | 日韩在线观看一区二区三区 | 日韩欧美在线免费观看 | 国产成人精品曰本亚洲 | 亚洲国产日韩在线一区 | 精品一区中文字幕 | 中文乱码在线观看 | 久久精品女人毛片国产 | 久久伦理影院 | 国产综合一区二区 | 国产精品bdsm在线调教 | 久久嫩草影院免费看夜色 | 毛片大全高清免费 | 久久精品国语 | 综合久久久久综合97色 | 精品在线观看一区 | 日韩中文字幕精品久久 | 亚洲mv| 国产精品午夜性视频 | 日韩 亚洲 欧美 中文 高清 | aa大片成人免费网站 | 国产亚洲视频在线观看 | 精品国产一区二区三区香蕉沈先生 | 91尤物视频在线观看 | 国产大片中文字幕 | 精品欧美一区二区精品久久 | 伊人一级 |