【题目描述】
在一个数轴上有n条线段,现选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少?
【输入】
第一行为一个正整数n,下面n行每行2个数字ai,bi,描述每条线段。
【输出】
输出文件仅包括1个整数,为k的最大值。
【输入样例】
3
0 2
2 4
1 3【输出样例】
2
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 1000000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
struct Line{
int x,y;
bool operator < (const Line &rhs)const{
return y<rhs.y;
}
}line[N];
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&line[i].x,&line[i].y);
sort(line+1,line+1+n);
int res=1;
int temp=line[1].y;
for(int i=2;i<=n;i++){
if(line[i].x>=temp){
temp=line[i].y;
res++;
}
}
printf("%d\n",res);
return 0;
}
信息学奥赛一本通T1429:贪心算法 线段 归属于 贪心算法,更多同类题解源程序见:贪心算法 和 线段
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!