sum= A*h+B*s排序

然后枚举height和speed的最小值

然后用两个指针:先枚举speed最小值,然后一边枚举v的最小值一边查询符合条件的人数。

#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std; typedef long long LL; #define N 10010 struct data
{
LL h,s,sum;
}x[N],y[N]; LL n,A,B,C;
LL minn,maxn;
LL ans,cnt,l,r; LL getLL()
{
LL x=0,f=1;char ch=getchar();
while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
} LL cmp1(const data &a,const data &b)
{
return a.h<b.h;
} LL cmp2(const data &a,const data &b)
{
return a.sum<b.sum;
} bool check1(LL p)
{
return y[p].s<=maxn && y[p].s>=minn;
} bool check2(LL p)
{
return x[p].s<=maxn && x[p].s>=minn;
} int main()
{
n=getLL(),A=getLL(),B=getLL(),C=getLL();
for (LL i=1;i<=n;i++)
{
x[i].h=getLL();
x[i].s=getLL();
x[i].sum=A*x[i].h+B*x[i].s;
y[i]=x[i]; }
sort(x+1,x+n+1,cmp1);
sort(y+1,y+n+1,cmp2);
for (LL i=1;i<=n;i++)
{
minn=x[i].s;
maxn=minn+C/B;
l=r=cnt=0;
for (LL j=1;j<=n;j++)
{
while (r<n && y[r+1].sum<=A*x[j].h+B*x[i].s+C)
r++,cnt+=check1(r);
while (l<n && x[l+1].h<x[j].h)
l++,cnt-=check2(l);
ans=max(ans,cnt);
}
}
printf("%lld\n",ans);
return 0;
}

  

【bzoj1071】[SCOI2007]组队的更多相关文章

  1. bzoj1071[SCOI2007]组队

    1071: [SCOI2007]组队 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2472  Solved: 792[Submit][Status][ ...

  2. BZOJ1071: [SCOI2007]组队【双指针】【思维好题】

    Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ...

  3. 【BZOJ1071】[SCOI2007]组队(神仙题)

    [BZOJ1071][SCOI2007]组队(神仙题) 题面 BZOJ 洛谷 题解 首先把式子整理一下,也就是\(A*h+B*v\le C+A*minH+B*minV\) 我们正常能够想到的做法是钦定 ...

  4. BZOJ 1071 [SCOI2007]组队

    1071: [SCOI2007]组队 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1330  Solved: 417[Submit][Status][ ...

  5. 1071: [SCOI2007]组队

    1071: [SCOI2007]组队 https://lydsy.com/JudgeOnline/problem.php?id=1071 分析: dp+单调性. A*(hi–minH)+B*(si–m ...

  6. [SCOI2007]组队 差分

    题面:[SCOI2007]组队 题解: 一开始固定H然后找性质找了很久也没有找到任何有用的东西...... 然后大佬告诉我一个神奇的方法... 首先我们化一波式子: 设$H$表示高度的最小值,$V$表 ...

  7. BZOJ1071 [SCOI2007]压缩 其他

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1071 题意概括 有两个序列a[1..n], b[1..n],其编号为1..n,设为s序列.现在我们 ...

  8. 1071: [SCOI2007]组队 - BZOJ

    Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ...

  9. BZOJ.1071.[SCOI2007]组队(思路)

    题目链接 三个限制: \(Ah-AminH+Bv-BminV\leq C\ \to\ Ah+Bv\leq C+AminH+BminV\) \(v\geq minV\) \(h\geq minH\) 记 ...

随机推荐

  1. go语言碎片整理之标准库log

    log Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log的基本使用. 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法.本包也提供了一个预定义的“标 ...

  2. 【笔记】ubuntu如何切换到root用户&&linux如何关闭各种保护

    默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令   这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况下5分钟root权限就失效了. () ...

  3. [AI开发]基于DeepStream的视频结构化解决方案

    视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些 ...

  4. PS学习笔记(01)

    [1]PS,文件-脚本-删除所有的空图层.   [2]设计师与美工的区别? 设计在于有思路了再去找素材, 美工在于有素材后再去设计 (思路是在大量的设计上,才累计出来的.)   [3]如何知道一张图片 ...

  5. metadata的使用以及简单的orm模式

    使用sqllite3和metadata简单的封装了个简单的orm #!/usr/bim/python #-*-coding: utf-8 -*- import threading import sql ...

  6. bootspring网站项目,Date类型插入数据库始终比正确时间早一天问题的解决

    bug描述 昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天 输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天 https:// ...

  7. xtu read problem training 3 A - The Child and Homework

    The Child and Homework Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on Code ...

  8. BestCoder Round #90 A+B题解!

    BestCoder Round #90 A  Kblack loves flag 题意有点迷不造思路很简单但不造怎么求随机数,纠结了一会后直接粘上题目所给的代码稍加修改A了. const int _K ...

  9. [codeforces551E]GukiZ and GukiZiana

    [codeforces551E]GukiZ and GukiZiana 试题描述 Professor GukiZ was playing with arrays again and accidenta ...

  10. [luoguP1360] [USACO07MAR]黄金阵容均衡Gold Balanced L…

    传送门 真的骚的一个题,看了半天只会个前缀和+暴力.. 纯考思维.. 良心题解 #include <cstdio> #include <cstring> #include &l ...