【链接】:https://www.luogu.org/problemnew/show/P1478

题目描述

又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。

这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0之前最多能摘到多少个苹果。

现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果。

输入输出格式

输入格式:

第1行:两个数 苹果数n,力气s。

第2行:两个数 椅子的高度a,陶陶手伸直的最大长度b。

第3行~第3+n-1行:每行两个数 苹果高度xi,摘这个苹果需要的力气yi。

输出格式:

只有一个整数,表示陶陶最多能摘到的苹果数。

输入输出样例

输入样例#1:
复制

8 15
20 130
120 3
150 2
110 7
180 1
50 8
200 0
140 3
120 2
输出样例#1: 复制

4

说明

所有数据:n<=5000 a<=50 b<=200 s<=1000

      xi<=280  yi<=100

【分析】:按照花费力气从小到大排序
【代码】:
#include <bits/stdc++.h>

using namespace std;

const int N = ;

struct node
{
int x,y; //苹果高度xi,摘这个苹果需要的力气yi
}a[N]; int cmp(node a,node b)
{
/*
return a.y<b.y; //花费力气从小到大
return a.x<b.x; //苹果高度从低到高
*/ //Okay
if(a.y!=b.y)
return a.y<b.y;
return a.x<b.x;
}
int main()
{
int n,s; // 苹果数n,力气s int aa,bb; // 椅子的高度a,陶陶手伸直的最大长度b
int cnt=;
scanf("%d%d",&n,&s);
scanf("%d%d",&aa,&bb);
for(int i=;i<n;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
}
sort(a,a+n,cmp);
/*for(int i=0;i<n;i++)
printf("x=%d y=%d\n",a[i].x,a[i].y);
*/
for(int i=;i<n;i++)
{
//if(s<0) break;
if(bb>=a[i].x)
{
s-=a[i].y;
//cnt++;
if(s<) break;
cnt++;
}
else if(bb<a[i].x)
{
int t=aa+bb;//站到椅子上再试试
if(t>=a[i].x){
s-=a[i].y;
//cnt++;
if(s<) break;
cnt++;
}
}
}
printf("%d\n",cnt);
return ;
}

贪心

洛谷 P1478 陶陶摘苹果(升级版)【贪心/结构体排序/可用01背包待补】的更多相关文章

  1. 【洛谷P2028 龙兄摘苹果】动态规划

    分析 第二类striling数 考虑最后一个数到底是放在之前的任意一个集合内,还是自成一个集合 \[F_{i\ j}=F_{i-1\ j-1}+j\times F_{i-1,j} \] AC代码 #i ...

  2. 洛谷 P1056 排座椅【贪心/结构体排序】

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...

  3. 洛谷P1478 陶陶摘苹果(升级版)

    题目数据范围小,开两个数组手写冒泡应该也能过,不过和之前在牛客上的一题类似用结构体数组就好了,主要是注意用结构体数组的排序 题目 题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果 ...

  4. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  5. 洛谷 P1478 陶陶摘苹果(升级版)

    本萌新第一次发布题解,若有不严谨处请谅解. 我看了前面几位大佬的手笔,表示自己还是比较钟爱桶排序的.它非常简易直接,还省时间,尤其对于这类题目占用的的空间也很小. 我们看到题目下面的说明:xi< ...

  6. 洛谷——P1478 陶陶摘苹果(升级版)

    题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力 ...

  7. 洛谷P1478 陶陶摘苹果(升级版)【水题】

    又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s ...

  8. 陶陶摘苹果(升级版)P1478_巧妙模拟

    如此水的题居然让我绞尽脑汁,我在想我是不是快退役了. 这道题我看见很多解法:贪心,背包,桶排乱七八糟一大堆. 题目 题目描述 又是一年秋季时,陶陶家的苹果树结了 n 个果子.陶陶又跑去摘苹果,这次他有 ...

  9. 洛谷.1919.[模板]A*B Problem升级版(FFT)

    题目链接:洛谷.BZOJ2179 //将乘数拆成 a0*10^n + a1*10^(n-1) + ... + a_n-1的形式 //可以发现多项式乘法就模拟了竖式乘法 所以用FFT即可 注意处理进位 ...

随机推荐

  1. 【luminate primordial】苏州之行

    测试了reader 07版 更主要的是第一次坐了高铁 还不错 路上看到下雨的时候都是水顺着玻璃平着流 好厉害的样子 6个人去的6个人回 今儿开会 老板不太满意 小随意 对我来说,收获感觉还是不小的,使 ...

  2. 【Umezawa's Jitte】真正用起来svn来管理版本

    之前用过一次 但是没有真正的用起来 只是知道了一些基本概念 好了 决定开始真正的用这个svn了 参考大神http://www.cnblogs.com/wrmfw/archive/2011/09/08/ ...

  3. 二分答案:Poweroj2461-入门基础之二分答案(二分法的应用)

    传送门:点击打开链接 入门基础之二分答案 Time Limit: 1000 MS Memory Limit: 65536 KBTotal Submit: 179 Accepted: 33 Page V ...

  4. CA证书申请、认证原理

    (一) 证书的申请 密钥文件的格式用OpenSSL生成的就只有PEM和DER两种格式,PEM的是将密钥用base64编码表示出来的,直接打开你能看到一串的英文字母,DER格式是二进制的密钥文件,直接打 ...

  5. Java并发之(3):锁

    锁是并发编程中的重要概念,用来控制多个线程对同一资源的并发访问,在支持并发的编程语言中都有体现,比如c++ python等.本文主要讲解Java中的锁,或者说是重入锁.之所以这么说是因为在Java中, ...

  6. 【Decode Ways】cpp

    题目: A message containing letters from A-Z is being encoded to numbers using the following mapping: ' ...

  7. day02_05.除数与被除数

    第5题 除数与被除数 编程需要一定数学能力,在这看看你找到了几个有用条件, 又该如何来运用他们呢? 学习是互通的 题目:两个自然数相除,商3余10,被除数,除数,商,余数的和是163,求被除数,除数. ...

  8. 查找docker log久远数据方法

    问题描述: 同事发现几天前运行的一个文件id存在错误,需要查看docker log,但是使用docker logs -f container_id 上下翻很耗费时间. 解决思路: 每条对应的log都会 ...

  9. iOS-@inerface的11条规范写法

    总结一些interface声明时的规范,相关宏的介绍,定义方法时有用的修饰符,编写注释的规范,最终写出一个合格的头文件. 1.读写权限 1.1实例变量的@public,@protected,@priv ...

  10. [openmp]使用嵌套并行

    变量OMP_NESTED设置使其可以在函数中并行. #include "omp.h" #include <cstdio> #include <iostream&g ...