nyoj 891 找点 贪心 区间选点问题

自己至今很迷惑 区间选点 和区间不相交问题 希望下次我看到这个博客能够懂点

因为对于区间选点和区间不相交我用的同样的方法 都能ac.根据最坐标排序,,如果这个区间右坐标大于

上一个区间的右坐标 sum+1,或者这个区间的右坐标取这个区间右坐标和上个区间右坐标的最小值;

#include <stdio.h>#include <algorithm>using namespace std;struct node{int x,y;};bool cmp(node a,node b){return a.x<b.x;}int min(int c,int d){return c<d?c:d;}int main(){int n,i,sum;node a[105];while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++)scanf("%d %d",&a[i].x,&a[i].y);sort(a,a+n,cmp);sum=1;for(i=1;i<n;i++){if(a[i-1].y<a[i].x)sum++;elsea[i].y=min(a[i-1].y,a[i].y);}printf("%d\n",sum);}}

接受失败,是我们不常听到或看到的一个命题,我们大都接受的是正面的教育,

nyoj 891 找点 贪心 区间选点问题

相关文章:

你感兴趣的文章:

标签云: