参考博客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的更多相关文章

随机推荐

  1. WeUI 在小程序中使用

    才接触小程序.想找个ui框架..也不知道咋弄: 下载地址:点击打开链接 将weui-wxss-master\dist\style\weui.wxss文件导入到小程序项目的根目录下 引入weui.wxs ...

  2. 像Excel的表格table

    推荐:Spread.js 地址:点击打开链接 Demo:点击打开链接

  3. perf 的事件

    perf的事件包括: 硬件事件:branch-instrctions / branch-miss / bus-cycles / cache-miss / cache-reference / cycle ...

  4. Vuex, api, SSR, module

    vuex https://vuex.vuejs.org/zh/guide/actions.html 单向数据流 单例模式 & 多个组件共享状态 State & 状态注入 Vue.use ...

  5. 【bzoj1565】[NOI2009]植物大战僵尸 拓扑排序+最大权闭合图

    原文地址:http://www.cnblogs.com/GXZlegend/p/6808268.html 题目描述 输入 输出 仅包含一个整数,表示可以获得的最大能源收入.注意,你也可以选择不进行任何 ...

  6. 设置RobotFramework的ftplibrary中,将Upload_file操作的异常改为回显错误信息。

    测试中需要通过FTP通道,将数据发送给服务器,而这个上传的数据要被阻断.在结合RobotFramework测试中,安装的ftplibrary,使用upload_file操作,如果上传动作失败,会抛出异 ...

  7. What is a Microsoft Failover Cluster Virtual Adapter

    What is a Microsoft Failover Cluster Virtual Adapter anyway? A question often asked is, "What i ...

  8. java算法(二) 快速排序

    快速排序是一种交换排序. 快速排序由C. A. R. Hoare在1962年提出. 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数. 然后再 ...

  9. nutch2.3.1源码分析——InjectorJob

    InjectorJob实现的功能是:从种子站点文件当中读取站点信息并且将这些站点的个数.url(url以 域名:协议/端口号/路径名 设为形式存储在数据库当中,为了提高读写速度)回写到Context类 ...

  10. Ubuntu14连接MySql报错“can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock'”

    起因:我在Ubuntu14 64位系统中安装mysql后,后来通过mysql -u用户名 -p密码 的命令连接 Mysql数据库时,报错"can't connect to local mys ...