您的位置:首页 > 其它

【codevs 1643】线段覆盖 3

2016-10-06 14:54 246 查看
数据大到nlogn没法做。。

然而我做1的时候用的就是贪心算法。。

所以无影响。。

并且到这个地步。。

基本上就是卡IO操作了(输入输出)

cin/cout会比较慢

关闭流同步后能快一倍

再快就只能用scanf/printf

或者手写读入函数(读入优化技巧

#include<bits/stdc++.h>
using namespace std;
#define Rep(i,a,b) for(int i=(a);i<=(b);i++)
int n;
struct Seg{
int l,r;
}e[1000010];
bool cmp(Seg x,Seg y)
{
if(x.r==y.r)return x.l>y.l;
else return x.r<y.r;
}
int main()
{
ios::sync_with_stdio(false);
cin>>n;
Rep(i,1,n)
{
cin>>e[i].l>>e[i].r;
if(e[i].l>e[i].r)swap(e[i].l,e[i].r);
}
sort(e+1,e+1+n,cmp);
int tot = 0,last = -1;
Rep(i,1,n)
{
if(e[i].l>=last)
{
last = e[i].r;
tot ++;
}
}
cout<<tot;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  贪心