112. 雷达设备贪心

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了112. 雷达设备贪心相关的知识,希望对你有一定的参考价值。



呢么问题就变成了区间合并问题。给我们n给区间将相交的区间合并求不相交的区间个数。

#include<bits/stdc++.h>
using namespace std;
typedef pair<double,double> pdd;
int n,r,flag;
vector<pdd>ve; 
int main(void)

    cin>>n>>r;
    for(int i=0;i<n;i++)
    
        double x,y; cin>>x>>y;
        if(y>r) flag=1;
        double len=sqrt(r*r-y*y);
        ve.push_back(x+len,x-len);
    
    double last=-1e9;
    int cnt=0;
    sort(ve.begin(),ve.end());
    for(int i=0;i<ve.size();i++)
        if(ve[i].second>last) last=ve[i].first,cnt++;
    if(flag) puts("-1");
    else cout<<cnt;
    return 0;

以上是关于112. 雷达设备贪心的主要内容,如果未能解决你的问题,请参考以下文章

雷达设备 贪心

贪心例题

贪心雷达问题

贪心雷达问题

贪心poj1328:雷达设置

阶段性总结-贪心算法