LuoguP4165 [SCOI2007]组队
化式子,然后两个指针平\(A\)过去
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <iostream>
#include <numeric>
#define R(a,b,c) for(register int a = (b); a <= (c); ++a)
#define nR(a,b,c) for(register int a = (b); a >= (c); --a)
#define Swap(a,b) ((a) ^= (b) ^= (a) ^= (b))
#define MP make_pair
#ifdef QWQ
#define D_e_Line printf("\n------\n")
#define D_e(x) cerr << (#x) << " " << x << endl
#define C_e(x) cout << (#x) << " " << x << endl
#define FileOpen() freopen("in.txt", "r", stdin)
#define FileSave() freopen("out.txt", "w", stdout)
#define Pause() system("pause")
#include <cassert>
#define PASS fprintf(stderr, "Passing [%s] in LINE %d\n",__FUNCTION__,__LINE__)
#else
#define D_e_Line
#define D_e(x)
#define C_e(x)
#define FileOpen()
#define FileSave()
#define Pause()
#define PASS
#endif
using namespace std;
struct FastIO {
	template<typename ATP> inline FastIO& operator >> (ATP &x) {
		x = 0; int sign = 1; char c;
		for(c = getchar(); c < '0' || c > '9'; c = getchar()) if(c == '-') sign = -1;
		while(c >= '0' && c <= '9') x = x * 10 + (c ^ '0'), c = getchar();
		if(sign == -1) x = -x;
		return *this;
	}
} io;
template<typename ATP> inline ATP Max(ATP x, ATP y) {
	return x > y ? x : y;
}
template<typename ATP> inline ATP Min(ATP x, ATP y) {
	return x < y ? x : y;
}
template<typename ATP> inline ATP Abs(ATP x) {
	return x < 0 ? -x : x;
}
const int N = 5007;
#define int long long
struct nod {
	int x, y, s;
//	nod() {}
//	nod(int _x, int _s) : x(_x), s(_s) {}
} x[N], y[N];
#undef int
int main() {
FileOpen();
#define int long long
	int n, A, B, C;
	io >> n >> A >> B >> C;
	R(i,1,n){
		io >> x[i].x >> x[i].y;
		x[i].s = A * x[i].x + B * x[i].y;
		y[i] = x[i];
	}
	sort(x + 1, x + n + 1, [&](const nod &a, const nod &b){ return a.x < b.x;});
	sort(y + 1, y + n + 1, [&](const nod &a, const nod &b){ return a.s < b.s;});
	int ans = 0;
	R(i,1,n){
		int minY = x[i].y, maxY = x[i].y + C / B;
		int l = 1, r = 0, tot = 0;
		R(j,1,n){
			int minX = x[j].x, Smax = minX * A + minY * B + C;
			while(r < n && y[r + 1].s <= Smax){
				++r;
				if(minY <= y[r].y && y[r].y <= maxY) ++tot;
			}
			while(l <= n && x[l].x < minX){
				if(minY <= x[l].y && x[l].y <= maxY) --tot;
				++l;
			}
			ans = Max(ans, tot);
		}
	}
	printf("%lld", ans);
	return 0;
}

LuoguP4165 [SCOI2007]组队的更多相关文章
- BZOJ 1071 [SCOI2007]组队
		1071: [SCOI2007]组队 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1330 Solved: 417[Submit][Status][ ... 
- bzoj1071[SCOI2007]组队
		1071: [SCOI2007]组队 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2472 Solved: 792[Submit][Status][ ... 
- 【BZOJ1071】[SCOI2007]组队(神仙题)
		[BZOJ1071][SCOI2007]组队(神仙题) 题面 BZOJ 洛谷 题解 首先把式子整理一下,也就是\(A*h+B*v\le C+A*minH+B*minV\) 我们正常能够想到的做法是钦定 ... 
- 1071: [SCOI2007]组队
		1071: [SCOI2007]组队 https://lydsy.com/JudgeOnline/problem.php?id=1071 分析: dp+单调性. A*(hi–minH)+B*(si–m ... 
- [SCOI2007]组队 差分
		题面:[SCOI2007]组队 题解: 一开始固定H然后找性质找了很久也没有找到任何有用的东西...... 然后大佬告诉我一个神奇的方法... 首先我们化一波式子: 设$H$表示高度的最小值,$V$表 ... 
- 1071: [SCOI2007]组队 - BZOJ
		Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ... 
- BZOJ.1071.[SCOI2007]组队(思路)
		题目链接 三个限制: \(Ah-AminH+Bv-BminV\leq C\ \to\ Ah+Bv\leq C+AminH+BminV\) \(v\geq minV\) \(h\geq minH\) 记 ... 
- BZOJ1071: [SCOI2007]组队【双指针】【思维好题】
		Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ... 
- [SCOI2007]组队
		嘟嘟嘟 这题有人说部分分O(n3)暴力,然而我暴力都没写过,调了半天也没用……还是看题解吧 首先,咱把A * ( h – minH ) + B * ( s – minS ) <= C 变个型,得 ... 
随机推荐
- Docker搭建大数据集群 Hadoop Spark HBase Hive Zookeeper Scala
			Docker搭建大数据集群 给出一个完全分布式hadoop+spark集群搭建完整文档,从环境准备(包括机器名,ip映射步骤,ssh免密,Java等)开始,包括zookeeper,hadoop,hiv ... 
- 彰显个性│github和gitlab之自定义首页样式
			目录 一.个性首页 二.制作步骤 三.修改内容 一.个性首页 相信很多小伙伴在逛 github 和 gitlab 的时候 会发现很多开发者的首页异常的炫酷,如 https://github.com/c ... 
- 以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化
			背景 字节跳动 Data Catalog 产品早期,是基于 LinkedIn Wherehows 进行二次改造,产品早期只支持 Hive 一种数据源.后续为了支持业务发展,做了很多修修补补的工作,系统 ... 
- 【Github】 Github访问不是私密连接问题
			前言 GitHub是一个软件项目的托管平台,是我们经常需要访问的,我原本在学校时候虽然网速比较慢,但是还以能够满足一些代码下载和上传的,在暑假回到家,再去访问的时候就出现了不能访问的问题. 问题描述 ... 
- 第6章 字符串(上)——C风格字符串
			6.1 C-strings(C 风格字符串) C风格字符串: 字符数组是元素为字符型的数组,字符串是以空字符'\0' 作为数组最后一个元素的字符数组. 如果指定了数组的大小,而字符串的长度又小于数组大 ... 
- pytorch 中 repeat 和 expend 的功能和区别
			功能 均是用于扩展张量的维度 区别 tensor.expand(*sizes) 将张量中单维度(singleton dimensions,即张量在某个维度上为1的维度,exp(1,2,3),其中在第一 ... 
- 上线项目之局域网上线软件使用-----phpStudy
			上面的图片是phpStudy的软件截图.那么你在哪里会下到呢?链接: https://pan.baidu.com/s/1lvX9jY_K6gGkMOqo76p4nA 提取码: h1it 复制这段内容后 ... 
- SAP Smart Form 无法通过程序自定义默认打印机问题解决
			*&---------------------------------------------------------------------* *& Form FRM_SET_PRI ... 
- 详细图解 Netty Reactor 启动全流程 | 万字长文 | 多图预警
			本系列Netty源码解析文章基于 4.1.56.Final版本 大家第一眼看到这幅流程图,是不是脑瓜子嗡嗡的呢? 大家先不要惊慌,问题不大,本文笔者的目的就是要让大家清晰的理解这幅流程图,从而深刻的理 ... 
- 「笔记」折半搜索(Meet in the Middle)
			思想 先搜索前一半的状态,再搜索后一半的状态,再记录两边状态相结合的答案. 暴力搜索的时间复杂度通常是 \(O(2^{n})\) 级别的.但折半搜索可以将时间复杂度降到 \(O(2 \times 2^ ... 
