hdu 4007 Dave (2011年大连ACM网络赛)
2013-09-02 17:02
323 查看
题意:给定正方形的边长 r ,在平面内寻找正方形可以圈住的点的最大的个数。
分析:先对点排序,然后固定一条边,再平移另一条垂直边,得到点的个数,最后比较大小即可。
注意:不包含正方形倾斜的情况!
分析:先对点排序,然后固定一条边,再平移另一条垂直边,得到点的个数,最后比较大小即可。
注意:不包含正方形倾斜的情况!
// Time 125ms; Memory 240k
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; struct point { int x,y; }; bool operator < (point a,point b) { return a.x<b.x; } int main() { int i,j,k,l,n,r,t,cnt,mx,q[1010]; point p[1010]; while(scanf("%d%d",&n,&r)!=EOF) { for(i=0;i<n;i++) scanf("%d%d",&p[i].x,&p[i].y); sort(p,p+n); mx=0;t=-1; for(i=0;i<n-mx;i++) if(p[i].x!=t) { k=0; t=p[i].x; for(j=i;j<n;j++) { if(p[j].x-p[i].x-r>0) break; q[k++]=p[j].y; } sort(q,q+k); l=0; for(j=0;j<k;j++) { while(q[j]-q[l]>r) l++; cnt=j+1-l; if(mx<cnt) mx=cnt; } } printf("%d\n",mx); } return 0; }
相关文章推荐
- hdu 4007 Dave (2011年大连ACM网络赛)
- 2011年大连ACM网络赛 hdu 4007 Dave
- 2011年大连ACM网络赛 hdu 4002 Find the maximum
- HDU 4004 - The Frog\'s Games 第36届ACM/ICPC亚洲大连赛区网络赛
- hdu 5875 Function 2016ACM/ICPC大连赛区网络赛1008
- HDU 4007 Dave(11年大连 线段树+离散化+扫描线)
- HDU 4004 The Frog's Games(2011年大连网络赛 D 二分+贪心)
- HDU 4001 To Miss Our Children Time(2011年大连网络赛 A 贪心+dp)
- hdu 5869 Different GCD Subarray Query 2016ACM/ICPC大连赛区网络赛1002
- hdu 5869 Different GCD Subarray Query 2016ACM/ICPC大连赛区网络赛1006
- HDU 4002 Find the maximum (欧拉函数-积性函数的性质(2011年大连赛区网络赛第二题)
- HDU 4004 The Frog's Games(2011年大连网络赛 D 二分+贪心)
- hdu 4001 (2011ACM/ICPC大连网络赛)
- HDU 4001 To Miss Our Children Time(2011年大连网络赛 A 贪心+dp)
- hdu 4002 Find the maximum 2011 大连网络赛 1002 Find the maximum
- hdu 4007 Dave
- HDU 4066 2011ACM福州网络赛
- hdu 4763 && 2013 ACM/ICPC 长春网络赛解题报告
- 【2016-大连赛区网络赛-H】优化(Function,hdu 5875)
- HDU 5875 Function 大连网络赛