P1325 雷达安装 (贪心)

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
struct node
{
    double l;
    double r;
}a[1010];
bool cmp(node x,node y)
{
    return x.r<y.r;
}
int x[1010],y[1010];
int ans=0;
int temp;
int main()
{
    int n,d;
    cin>>n>>d;
    for(int i=1;i<=n;i++)
    {
        cin>>x[i]>>y[i];
    }
    for(int i=1;i<=n;i++)
    {
        a[i].l=x[i]-sqrt(d*d-y[i]*y[i]);
        a[i].r=x[i]+sqrt(d*d-y[i]*y[i]);
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        if(i==1)
        {
            temp=a[i].r;
            ans++;
        }
        else
        {
            if(temp>=a[i].l)
            {
                continue;
            }
            ans++;
            temp=a[i].r;
        }
    }
    cout<<ans;
    return 0;
    
}

这个整体和活动选择很像。。。

原文地址:https://www.cnblogs.com/Chri-K/p/13851796.html