zoukankan      html  css  js  c++  java
  • HUD 4007 [扫描线][序]

    /*
    大连热身B题
    
    不要低头,不要放弃,不要气馁,不要慌张
    题意:
    坐标平面内给很多个点,放置一个边长为r的与坐标轴平行的正方形,问最多有多少个点在正方形内部。
    
    思路:
    按照x先排序,然后确定x在合法范围内后按照y排序,进行扫描线。
    */
    
    
    
    
    
    
    
    #include<bits/stdc++.h>
    using namespace std;
    bool vis[1050];
    struct st{
        void read(){
            scanf("%d%d",&x,&y);
        }
        int x,y;
    };
    st jilu[1050];
    bool cmp(st a,st b){
        return a.x<b.x;
    }
    bool cmp2(st a,st b){
        return a.y<b.y;
    }
    int main()
    {
        int n,r;
        while(scanf("%d%d",&n,&r)!=EOF){
            int ans=1;
            memset(vis,0,sizeof(vis));
            for(int i=0;i<n;i++)jilu[i].read();
            sort(jilu,jilu+n,cmp);
            int ed=0;
            for(int i=0;i<n;i++){
                while(ed<n&&jilu[ed].x<=jilu[i].x+r)ed++;
                sort(jilu+i,jilu+ed,cmp2);
                int num=1;
                int st=i;
                for(int j=i+1;j<ed;j++){
                    while(jilu[st].y<jilu[j].y-r)st++;
                    ans=max(ans,j-st+1);
                }
                sort(jilu+i,jilu+ed,cmp);
            }
            printf("%d
    ",ans);
        }
    }
  • 相关阅读:
    添加删除虚拟ip
    linux配置ant
    java类加载器
    java类的加载过程
    java反射机制
    spring原理
    spring-1
    spring所需包下载
    eclipse安装spring插件
    ubuntu下zaibbix3.2报警搭建
  • 原文地址:https://www.cnblogs.com/tun117/p/6001994.html
Copyright © 2011-2022 走看看