51nod oj 1091 线段的重叠 【贪心】

来源:互联网 发布:小升初辅导软件 编辑:程序博客网 时间:2024/05/23 16:56


题目链接:1091


排序-.-(减少计算时重复与不必要的次数)


代码“:

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct node{int start,end;}duan[60000];bool cmp(node xx,node yy){if (xx.start!=yy.start)return xx.start<yy.start;return xx.end>yy.end;}int main(){int n;scanf("%d",&n);for (int i=0;i<n;i++)scanf("%d%d",&duan[i].start,&duan[i].end);sort(duan,duan+n,cmp);int s=0,a,b;for (int i=0;i<n;i++){a=duan[i].start;b=duan[i].end;for (int j=i+1;j<n;j++){if (b-duan[j].start<=s)break;s=max(s,min(b-duan[j].start,duan[j].end-duan[j].start));}}printf("%d\n",s);return 0;}


0 0
原创粉丝点击