按照右端點排序,然後模擬,期間記錄乙個last變數
#include
using
namespace std;
const
int n=
1e5;
typedef pair<
int,
int>pll;
pll a[n]
;int n;
intmain()
sort
(a,a+n)
;int last=
-1e9
,cnt=0;
for(
int i=
0;icout<}
給定n個閉區間[ai,biai,bi],請你將這些區間分成若干組,使得每組內部的區間兩兩之間(包括端點)沒有交集,並使得組數盡可能小。
#include
#include
#include
using
namespace std;
const
int n =
100010
;int n;
struct range
}range[n]
;int
main()
;}sort
(range, range + n)
; priority_queue<
int, vector<
int>
, greater<
int>> heap;
for(
int i =
0; i < n; i ++)}
printf
("%d\n"
, heap.
size()
);return0;
}
#include
#include
using
namespace std;
const
int n =
100010
;int n;
struct range
}range[n]
;int
main()
;}sort
(range, range + n)
;int res =0;
bool success =
false
;for
(int i =
0; i < n; i ++)if
(r < st)
res ++;if
(r >= ed)
st = r;
i = j -1;
}if(!success) res =-1
;printf
("%d\n"
, res)
;return0;
}
總結 貪心演算法 貪心演算法入門總結
英語 greedy algorithm,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...
貪心演算法總結
第一套題主要用貪心演算法來解決問題,貪心演算法簡單來說就是從區域性最優解,進而求得整體最優解,其中難點就是選擇貪心標準,貪心標準的選擇選的巧妙問題就會變的很簡單,比如第一題搬桌子的題,就是把房間轉化為對應的走廊號,問題就簡化了很多。貪心演算法的題目有的可以很簡單的看出來,常見典型的題有,揹包問題,最...
貪心演算法總結
在求最優解問題的過程中,依據某種貪心標準,從問題的初始狀態出發,直接去求每一步的最優解,通過若干次的貪心選擇,最終得出整個問題的最優解,這種求解方法就是貪心演算法。從貪心演算法的定義可以看出,貪心演算法不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解,而由問題自身的特性決定了該題運...