【51Nod - 1133】不重叠的线段 (贪心)
生活随笔
收集整理的這篇文章主要介紹了
【51Nod - 1133】不重叠的线段 (贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
X軸上有N條線段,每條線段有1個起點S和終點E。最多能夠選出多少條互不重疊的線段。(注:起點或終點重疊,不算重疊)。
例如:151523233636,可以選23233636,這2條線段互不重疊。
Input
第1行:1個數N,線段的數量(2 <= N <= 10000)?
第2 - N + 1行:每行2個數,線段的起點和終點(-10^9 <= S,E <= 10^9)
Output
輸出最多可以選擇的線段數量。
Sample Input
3 1 5 2 3 3 6Sample Output
2解題報告:
? ?按終點排序,也就是貪心出對后面影響最小的。
AC代碼:
#include<bits/stdc++.h>using namespace std; int bk[30]; struct Node {int s,e; } node[10000 + 5]; bool cmp(const Node a,const Node b) {return a.e<b.e; } long long ans = 0;int main() {int n;int ans = 0;int cure; cin>>n;for(int i = 1; i<=n; i++) {scanf("%d %d",&node[i].s,&node[i].e);}sort(node+1,node+n+1,cmp);cure = node[1].e;ans = 1;for(int i = 2; i<=n; i++) {if(cure>node[i].s) continue;ans++;cure = node[i].e;}cout<<ans<<endl;return 0 ; }?
總結
以上是生活随笔為你收集整理的【51Nod - 1133】不重叠的线段 (贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显卡雪崩后 PC市场凉凉
- 下一篇: 全球首款!国产冻干型新冠奥密克戎株mRN