[SCOI2007]组队
Description
NBA每年都有球员选秀环节。通常用速度和身高两项数据来衡量一个篮球运动员的基本素质。假如一支球队里
速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有队员都应该满足: A * ( height
– minH ) + B * ( speed – minV ) <= C 其中A和B,C为给定的经验值。这个式子很容易理解,如果一个球队的
球员速度和身高差距太大,会造成配合的不协调。 请问作为球队管理层的你,在N名选秀球员中,最多能有多少名
符合条件的候选球员。
Input
第一行四个数N、A、B、C 下接N行每行两个数描述一个球员的height和speed
Output
最多候选球员数目。
Sample Input
4 1 2 10
5 1
3 2
2 3
2 1
Sample Output
4
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
struct node
{LL x,y,sum;
}a[5100],b[5100];
LL A,B,C;
bool cmp1(node xx,node yy){return xx.x<yy.x;}
bool cmp2(node xx,node yy){return xx.sum<yy.sum;}
int _max(LL x,LL y){return x>y?x:y;}
int main()
{int n;scanf("%d%lld%lld%lld",&n,&A,&B,&C);for(int i=1;i<=n;i++){scanf("%lld%lld",&a[i].x,&a[i].y);a[i].sum=A*a[i].x+B*a[i].y;b[i]=a[i];}sort(a+1,a+n+1,cmp1);sort(b+1,b+n+1,cmp2);int ans=0;for(int i=1;i<=n;i++){LL low2=a[i].y,high=low2+C/B;//high是最高身高。//如果我们只看B*(speed-minV)<=C,可以得知://speed-minV<=C/B//speed<=C/B+minV,所以最大值是C/B+minV。LL l=0,r=0;int sum=0;for(int j=1;j<=n;j++){LL low1=a[j].x;while(r<n&&b[r+1].sum<=A*low1+B*low2+C)//如果满足条件{r++;if(b[r].y<=high&&b[r].y>=low2)sum++;//在规定身高内,则累加。}while(l<n&&a[l+1].x<low1)//如果比最小体重还要小。{l++;if(a[l].y<=high&&a[l].y>=low2)sum--;//在规定身高内,但体重又不符合条件,但之前肯定累加过,//所以要取消它之前的影响。}ans=_max(ans,sum);}}printf("%d\n",ans);return 0;
}
[SCOI2007]组队相关推荐
- 1071: [SCOI2007]组队
1071: [SCOI2007]组队 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 1763 Solved: 546 [ Submit][ St ...
- P4165 [SCOI2007]组队 推柿子+差分
题意: 题意 分析: 推柿子 : A × h − A × m i n h + B × s − B × m i n s ≤ C A\times h-A\times min_h+B\times s-B\t ...
- [BZOJ]1071: [SCOI2007]组队 STL优先队列
Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里 速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所 ...
- (双指针) bzoj 1071
1071: [SCOI2007]组队 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 1267 Solved: 392 [Submit][Status ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- BZOJ第一页刷题计划
BZOJ第一页刷题计划 已完成:67 / 90 [BZOJ1000]A+B Problem:A+B: [BZOJ1001][BeiJing2006]狼抓兔子:最小割: [BZOJ1002][FJOI2 ...
- 退役前的做题记录2.0
退役前的做题记录2.0 最近在刷省选题......大致上是按照省份刷的. 不过上面的题目顺序是按照写题的顺序排列的,所以可能会有点乱哈. [BZOJ2823][AHOI2012]信号塔 最小圆覆盖,随 ...
- [BZOJ]1071 组队(SCOI2007)
一道比较NB的套路题. Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为mi ...
- 【SCOI2007】【BZOJ1071】组队
原题链接:原题地址 Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH ...
最新文章
- 清除图片下默认的小间隙_密封间隙对迷宫密封性能影响的三维数值分析
- LINUX系统以及ANDROID 平台log信息输出级别设置 [MTK]
- ssm idea后端接收数据输出在控制台时出现中文乱码
- gradle下载的依赖包位置
- 2018.10.26多校
- keil5 mdk安装教程
- switchHosts 介绍
- Ruby中的concat()方法
- 光纤传输网的发展及其新的分层结构
- 计算机辅助英语听说考试系统,英语听说考试
- html插入外链音乐,GitHub Page插入网易云音乐外链
- Origin绘图后导出图片的方法
- 简单NLP分析套路(2)----分词,词频,命名实体识别与关键词抽取
- 2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?
- 软件变异体测试(mutation test)
- Spring解析加密配置文件
- SCI期刊Cover Letter写法模板
- 小米笔记本android,7代小米笔记本安装凤凰系统(Phoenix OS)显示命令行ANDROID字样
- 钉钉自定义机器人无法指定正向代理问题解决
- 做人做事需牢记20条原则
热门文章
- 论坛报名 | 负责任的人工智能:可持续发展与治理的协同
- PdfFactory.v4.64.Pro Server 和 FinePrint-v7.04-Pro Server + keygen
- Java秒杀系统实战系列~定时任务补充处理超时未支付的订单
- SecureCRT 命令
- 平安金融壹账通登顶中文机器阅读理解CMRC竞赛榜单
- 传奇霸业服务器没响应,腾讯传奇霸业怎么玩不了 腾讯传奇霸业进不去解决方法...
- JAVA 攻城狮 第十六天
- ManGe Commander 文档 v0.2
- sublime text 一些常用插件
- 尚硅谷MySQL高级学习笔记 -- 1.MySQL 的架构介绍