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);
        }
    }
  • 相关阅读:
    20165312 我期望的师生关系
    zookeeper04---ZAB协议
    zookeeper03-集群搭建
    zookeeper02
    Zookeeper01
    防止重复提交
    手动抛出异常事务回滚问题
    redis-07主从复制
    redis06-事务
    Redis-05持久化
  • 原文地址:https://www.cnblogs.com/tun117/p/6001994.html
Copyright © 2011-2022 走看看