zoukankan      html  css  js  c++  java
  • 洛谷 P1478 陶陶摘苹果(升级版)

    本萌新第一次发布题解,若有不严谨处请谅解。

    我看了前面几位大佬的手笔,表示自己还是比较钟爱桶排序的。它非常简易直接,还省时间,尤其对于这类题目占用的的空间也很小。

    我们看到题目下面的说明:xi<=280 yi<=100 这简直就是为桶排序量身定制啊!

    因为淘淘要摘到最多的苹果,我们便可以对每个苹果所需的力气进行桶排序。下面进入正文:

    陶陶摘苹果(升级版)题解

    #include<iostream>
    using namespace std;
    int c[101];//定义一百个桶子,c[i]代表用i个力气能摘到的苹果的数目
    int main(){
        int n,s,h,a,b,i,t=0; 
        cin>>n>>s>>h>>i;h+=i;//输入,借用"i"将淘淘用凳子达到的最大高度复制给"h"
        for(i=1;i<=n;i++){
            cin>>a>>b;
            if(a<=h)c[b]++;//如果能摘到,就在用b个力气能摘到苹果的桶子中加一
        }
        //接下来 按力气从小到大选苹果
        for(i=0;i<=100&&s>=0;i++){//注意要从"0"开始,有苹果是免费的
            while(c[i]){//一个桶子里也可有多个苹果
                s-=i;//减去摘这个苹果的力气
                t++;//摘到的苹果数加一 
                c[i]--;//桶里的苹果减一个 
                if(s<0){//当力气没了时结束 
                    t--;//这个苹果没有足够力气摘不了(s<0) 
                    break;
                }
            }
        }
        cout<<t;//输出。 
        return 0;
    }
    

    怎么样,是不是非常简短,时间空间都用的很少,那么点个赞吧!

    ✐☎博主撰文不易,转载还请注明出处;若对本文有疑,请私信或在下方讨论中提出。O(∩_∩)O谢谢!☏

    ☃〔尽管小伙伴们肯定有千百种方式针对,但博主还是极其非常十分不要脸的把反对键吃掉辣!〕☃

    ✿『$At$ $last$:非常一(hu)本(shuo)正(ba)经(dao)的:博主很笨,请不要欺负他』✿✍

  • 相关阅读:
    训练20191009 2018-2019 ACM-ICPC, Asia East Continent Finals
    [学习笔记] 有上下界网络流
    [HDU4609] 3-idiots
    [HDU1402] A * B Problem Plus
    [HNOI2017] 礼物
    训练20191007 2017-2018 ACM-ICPC Latin American Regional Programming Contest
    [ZJOI2014] 力
    训练20191005 2017-2018 ACM-ICPC Asia East Continent League Final
    [一本通学习笔记] 树链剖分
    [一本通学习笔记] 快速幂
  • 原文地址:https://www.cnblogs.com/812-xiao-wen/p/9879299.html
Copyright © 2011-2022 走看看