[Codeup 25482 ]选美

题目

一年一度的星哥选美又拉开了帷幕

N个人报名参加选拔,每个人都有着各自的相貌参数和身材参数(不大于 10000 的正整数)。你的任务是尽可能让更多人被星哥选中,而唯一要求就是,在这只队伍里面的每个人,都需满足以下不等式:

A (H− h) +B(W− w) ≤ C

其中H和W为这个人的相貌和身材, h和w为选中者中的最小相貌参数和最小身材参数,而A、 B、 C为三个不大于 10000 的正的整型常数。

现在请计算星哥最多可以选中多少人。

INPUT

第一行:一个整数: N(0<N<=2000)

第二行:三个分开的整数: A,B和C

第三行到第N+ 2行:每行有两个用空格分开的整数,分别表示一个人的相貌参数和身材参数

OUTPUT

第一行:最多被选的人数

SAMPLE

INPUT

8

1 2 4

5 1

3 2

2 3

2 1

7 2

6 4

5 1

4 3

OUTPUT

5

解题报告

考试时第一眼看到 星哥 我是茫然的= =,我在想我啥时候还能选美了= =

考试时打了个毫无根据的乱搞暴力,然后貌似竟然还过了一个点

正解:

首先我们观察一下这个式子:

显然可以化简一下,我们先将不等关系改为等于关系,再移项,就可以得到:

也就是说,我们完全可以得到两个量w与h的等量关系

那么我们想,假如我们知道了其中的h,那么我们一定可以求出这个最小的w,那么我们再把不等关系转回来,我们就得到的最小的w

那么我们就可以得到一个区间  ,只要w在这个区间里,这个人就能被选上(原因很简单,左端点是通过不等关系求出来的,右端点则是它本身的w值,假如最小值大于该值,那么就存在这个Wj比最小值还小,这显然是不成立的,所以显然只有w在该区间里才可以是她被选上)

接下来我们得到了n个区间,我们要让选上的人尽量多,所以我们要求被尽量多的区间所包含的点,来作为我们的w,所以我们可以用差分来处理,左端点+1,右端点后面一个点-1,那么这个点所能满足的数量就是该点的前缀和(差分:我们想为什么这样是可行的,我们只考虑一条线段,在该线段前的点,显然前缀和为0,在该线段中的点,显然前缀和只包含左端点,前缀和为1,在该线段后的点,前缀和中包含的左端点与右端点的1和-1相抵消,故前缀和为0,至于边界,画一画就出来了)

所以只是一个求最大前缀和即可,只是常数有点大(人傻自带超大常数)

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read(){
int sum();
char ch(getchar());
for(;ch<''||ch>'';ch=getchar());
for(;ch>=''&&ch<='';sum=sum*+(ch^),ch=getchar());
return sum;
}
int n,a,b,c;
int H[],W[];
int sum[];
int tp(),ans();
int main(){
n=read(),a=read(),b=read(),c=read();
for(int i=;i<=n;i++)
H[i]=read(),W[i]=read(),tp=max(tp,W[i]);
for(int i=;i<=n;i++){
memset(sum,,sizeof(sum));
for(int j=;j<=n;j++)
if(H[j]>=H[i]&&a*(H[j]-H[i])<=c){
int tmp((a*(H[j]-H[i])+b*W[j]-c)/b);
if(tmp<)
tmp=;
if(tmp>W[j])
tmp=W[j];
sum[tmp]++,sum[W[j]+]--;
}
for(int j=;j<=tp;j++)
sum[j]+=sum[j-];
for(int j=;j<=n;j++)
if(H[j]>=H[i]&&a*(H[j]-H[i])<=c)
ans=max(ans,sum[W[j]]);
}
printf("%d",ans);
}

[Codeup 25482]选美的更多相关文章

  1. [Codeup 25482] Beauty

    25482: Beauty 时间限制: 1 Sec  内存限制: 128 MB献花: 7  解决: 3[献花][花圈][TK题库] 题目描述 一年一度的星哥选美又拉开了帷幕 N个人报名参加选拔,每个人 ...

  2. 暑假集训D13总结

    考试 又炸掉了= = 本来看着题就一脸茫然,默默的打暴力骗分,然后就交了卷= = 重要的是,在本机跑的毫无障碍的T3程序竟然在评测机CE啊喂,35分就没了啊喂(这可是比我现在分还高= =) 内心几近崩 ...

  3. HURST 1116:选美大赛(LIS+路径输出)

    选美大赛 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 1099(318 users) Total Accepted: 349(252 ...

  4. 微服务RPC框架选美

    原文:http://p.primeton.com/articles/59030eeda6f2a40690f03629 1.RPC 框架谁最美? Hello,everybody!说到RPC框架,可能大家 ...

  5. 选股:“均线是水,K线是舟,量是马达!”的选美理念!

    选股:“均线是水,K线是舟,量是马达!”的选美理念! 很多庄家就是故意做数据,让某只股票的数据非常符合“理论”,引诱“技术派”股民

  6. [Codeup 25481] swan

    莫名其妙还找到了另一个铟炔锶烃的OJ : Codeup墓地 25481: swan 时间限制: 1 Sec  内存限制: 128 MB献花: 86  解决: 13[献花][花圈][TK题库] 题目描述 ...

  7. TOJ 4095: love168yk的选美大赛

    4095: love168yk的选美大赛  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit: ...

  8. 选美?作秀?MES系统的选择更应该从实际出发

    MES选型不是做秀,不是选美. 如今不少企业在信息化推广应用过程中面面求好.追求完美,用意没错,然而在MES开发过程中,软件商不可能将今后各种可能出现的问题考虑周全,不可能将系统做到十全十美.随着系统 ...

  9. 阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航

    2019杭州云栖大会企业协作与研发效能专场,企业协同平台Teambition负责人齐俊元正式发布阿里云自研的代码管理平台Teambition Codeup(行云),Codeup是一款企业级代码管理产品 ...

随机推荐

  1. 牛逼的postman,分类管理更好用

  2. python-day4 运算符,if判断, for循环

    1.运算符 算术运算符 +   -    *    /    % 赋值运算符 =   +=  -= 比较运算符 ==    <   <=    >    >=    != 逻辑 ...

  3. Python 38 注册和修改密码

    一:注册系统服务 1.添加环境变量:桌面点击我的电脑------>右键属性------>双击高级系统设置------>点击环境变量------>找到在系统变量中的Path后双击 ...

  4. Struts和Spring MVC的比较(非原创)

    文章大纲 一.Spring MVC项目例子二.Struts项目例子三.Struts和Spring MVC对比四.参考文章   一.Spring MVC项目例子 https://www.jianshu. ...

  5. JavaScript 函数 伪数组 arguments

    一.函数 函数:函数就是将一些语言进行封装,然后通过调用的形式,执行这些语句. 函数的作用: 1.将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动 2.简化编程,让变 ...

  6. android开发 设备调试问题

    如果在mac下面用趁机开发android程序,发现不能连接上时就需要进行简单设置即可 先设置Finder为可以显示所有隐藏文件夹: 打开终端,输入如下命令: 显示Mac隐藏文件的命令:defaults ...

  7. Android fragment的切换(解决REPLACE的低效)

    在项目中切换Fragment,一直都是用replace()方法来替换Fragment.但是这样做有一个问题,每次切换的时候Fragment都会重新实列化,重新加载一次数据,这样做会非常消耗性能用用户的 ...

  8. 魅族和三星Galaxy 5.0webView 问题Android Crash Report - Native crash at /system/lib/libc.so caused by webvi

    解决办法是当前activity 销毁的时候 webView.destroy(); hine: ConnectedState (when=-2ms what= arg1=!CMD_RSSI_POLL : ...

  9. 获取XML里指定的节点内容信息

    HttpContent bw = new StringContent(StrXml, Encoding.UTF8, "application/Xml"); var Msg = aw ...

  10. (转)Bootstrap 之 Metronic 模板的学习之路 - (1)总览

    https://segmentfault.com/a/1190000006673582#articleHeader0 写在前面 bootstrap 的模板非常多,Envato 上有着各种各样的免费及付 ...