欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

UVA 11100 The Trip, 2007 水題一枚

系統 1757 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條評論
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 免费一区 | 亚洲涩涩 | 欧美在线视频一区二区 | 国产99精品在线观看 | 成人黄色免费网站 | 精品一区二区三区免费 | 欧美国产一区二区三区 | 亚洲影院一区 | 国产男女爽爽爽免费视频 | 欧美成人精品第一区首页 | 51国产视频| 成人午夜精品 | 国产成人福利 | 九九热九九 | 成人自拍视频网 | 日本午夜色 | 一级做性色a爰片久久毛片 亚洲午夜精品久久久久久app | 成年视频在线观看 | 欧美成人综合在线 | 99人中文字幕亚洲区 | 日本不卡在线一区二区三区视频 | 就草草在线观看视频 | 久草中文在线 | 亚洲欧美国产视频 | 成人影院欧美大片免费看 | 神秘电影91 | 国产日韩一区二区三区在线观看 | 成人欧美视频在线观看 | 91精品国产91久久久久久最新 | 伊人久久综合 | 国产人成精品 | 国产成人精品.一二区 | 中文字幕综合在线观看 | 特黄一区二区三区 | 国产丫丫视频私人影院 | 天天操操操操操操 | 成人福利视频网站 | 国产精品久久久久久久久久红粉 | 免费看一区二区三区 | 国产精品视频二区不卡 |