hdu4001
参考博客http://www.cppblog.com/aswmtjdsj/archive/2011/09/04/155049.aspx
维护4根双扫描线,左右和上下。暴力枚举,复杂度O(n^2).
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN = 1001;
struct Point{
int x, y;
};
int n, R;
Point vx[MAXN], vy[MAXN];
bool cmpx(Point a, Point b){
return a.x < b.x;
}
bool cmpy(Point a, Point b){
return a.y < b.y;
}
int getMAX(){
int l, r, u,i,j,t=0;;
int ans = 0;
for (i = 0; i < n; i++){
l = vx[i].x; //左边线
while (t < n&&vx[t].x - l <= R)t++;
t--;
r = vx[t].x;
int s = 0,temp=0;
for (j = 0; j < n; j++){
u = vy[j].y;
while (s < n&&vy[s].y - u <= R){
if (vy[s].x <= r&&vy[s].x>=l)
temp++;
s++;
}
ans = max(ans, temp);
//为下一次做准备
if (vy[j].x <= r&&vy[j].x >= l)
temp--;
}
}
return ans;
}
int main(){
while (~scanf("%d%d", &n, &R)){
for (int i = 0; i < n; i++){
scanf("%d%d", &vx[i].x, &vx[i].y);
vy[i] = vx[i];
}
sort(vx, vx + n, cmpx);
sort(vy, vy + n, cmpy);
int ans = getMAX();
printf("%d\n", ans);
}
return 0;
}
hdu4001的更多相关文章
随机推荐
- string 与 byte[] 互转时的注意事项
1.string 转 byte[] //为UTF8编码 byte[] midbytes=isoString.getBytes("UTF8"); //为ISO-8859-1编码,其中 ...
- MVC从Controller到view进行传值的方法
这几天基本上都是交接的一些杂事,没有什么工作任务,就有空来回顾一下MVC.虽然工作中也用到了MVC,但已经被微软的架构师设计的找不到MVC的影子了,可能有别的考虑吧,至今还没研究出来.所以,今天就来回 ...
- PHP面向对象单例模式(懒汉式)
知识点: 一.三私一公: ①.私有静态属性,又来储存生成的唯一对象 ②.私有构造函数 ③.私有克隆函数,防止克隆——clone ④.公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例 ...
- 【bzoj3436】小K的农场 差分约束系统+最长路-Spfa
原文地址:http://www.cnblogs.com/GXZlegend/p/6801470.html 题目描述 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总 ...
- mac 安装 navicat premium11.2.1400 破解版
前言: 在 Mac 系统下 安装 navicat for mysql 时,遇到注册码的问题,适用了很多破解下载,都没有成功,现找到一篇特此记录下. Mac 下一款实用的数据库管理工具--Navicat ...
- JS省份联级下拉框
<script type="text/javascript"> var china=new Object();china['北京市']=new Array('北京市区' ...
- Jquery插件使用 焦点图插件 MyFocus ,另外记录一款插件 KinMaxShow大背景图插件。
以前用flash做首页图片轮播.最近的网站里用到一个插件MyFocus插件焦点图插件 用法如下: <script type="text/javascript"> ...
- linux下挂载U盘【转】
转自:http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html 一.Linux挂载U盘:1.插入u盘到计算机,如果目前只插入了一个u ...
- 判断dataset是否被修改—DataSet.HasChanges 方法
DataSet.HasChanges 方法 获取一个值,该值指示 DataSet 是否有更改,包括新增行.已删除的行或已修改的行. 命名空间: System.Data程序集: System.Da ...
- Django和SQLAlchemy区别
译者注:本文首先介绍了什么是ORM,然后从多个方面对Python语言下的两个ORM库Django和SQLAlchemy进行比较,为ORM的选型提供了较为全面的指导建议.以下是译文. ORM是什么? 在 ...