码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 2434 [SDOI2005]区间

时间:2018-04-01 23:01:16      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:技术   play   水题   bubuko   line   img   src   ==   image   

技术分享图片

【题解】

  鲜活的大水题。。。

  把区间排个序然后瞎搞就可以了,发现现在区间的左端点比之前区间的最大的右端点还大,那就增加一个答案区间。每次更新目前最大右区间。

  

技术分享图片
 1 #include<cstdio>
 2 #include<algorithm>
 3 #define N 200010
 4 #define rg register
 5 using namespace std;
 6 int n,m,tot;
 7 struct rec{
 8     int l,r;
 9 }a[N],ans[N];
10 inline int read(){
11     int k=0,f=1; char c=getchar();
12     while(c<0||c>9)c==-&&(f=-1),c=getchar();
13     while(0<=c&&c<=9)k=k*10+c-0,c=getchar();
14     return k*f;
15 }
16 inline bool cmp(rec x,rec y){
17     if(x.l==y.l) return x.r<y.r;
18     return x.l<y.l;
19 }
20 int main(){
21     n=read(); 
22     for(rg int i=1;i<=n;i++) a[i].l=read(),a[i].r=read();
23     sort(a+1,a+1+n,cmp);
24     ans[tot=1].l=a[1].l;
25     int mxr=ans[1].r=a[1].r;
26     for(rg int i=2;i<=n;i++){
27         if(a[i].l>mxr){
28             ans[++tot].l=a[i].l;
29             ans[tot].r=a[i].r;
30         }
31         mxr=max(mxr,a[i].r);
32         ans[tot].r=mxr;
33     }
34     for(rg int i=1;i<=tot;i++) printf("%d %d\n",ans[i].l,ans[i].r);
35     return 0;
36 }
View Code

 

洛谷 2434 [SDOI2005]区间

标签:技术   play   水题   bubuko   line   img   src   ==   image   

原文地址:https://www.cnblogs.com/DriverLao/p/8688528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!