基礎貪心演算法小總結

2021-10-09 04:27:00 字數 1459 閱讀 6279

​ 按照右端點排序,然後模擬,期間記錄乙個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,又稱貪婪演算法,是一種在每一步選擇中都採取在當前狀態下最好或最優 即最有利 的選擇,從而希望導致結果是最好或最優的演算法。比如在旅行推銷員問題中,如果旅行員每次都選擇最近的城市,那這就是一種貪心演算法。貪心演算法在有最優子結構的問題中尤為有效。最優子結構的意思...

貪心演算法總結

第一套題主要用貪心演算法來解決問題,貪心演算法簡單來說就是從區域性最優解,進而求得整體最優解,其中難點就是選擇貪心標準,貪心標準的選擇選的巧妙問題就會變的很簡單,比如第一題搬桌子的題,就是把房間轉化為對應的走廊號,問題就簡化了很多。貪心演算法的題目有的可以很簡單的看出來,常見典型的題有,揹包問題,最...

貪心演算法總結

在求最優解問題的過程中,依據某種貪心標準,從問題的初始狀態出發,直接去求每一步的最優解,通過若干次的貪心選擇,最終得出整個問題的最優解,這種求解方法就是貪心演算法。從貪心演算法的定義可以看出,貪心演算法不是從整體上考慮問題,它所做出的選擇只是在某種意義上的區域性最優解,而由問題自身的特性決定了該題運...