C 貪心 區間型

2021-08-07 14:56:48 字數 1150 閱讀 7178

數軸上有n個開區間,盡量選多的沒有公共點的區間

【解法】先排序(b從小到大,b相等時a從大到小),然後按順序遍歷一遍選擇不相交區間

#include #include using namespace std;

struct interval ;

interval c[2100];

int n, t, k;

bool cmp(const interval i1, const interval i2)

int main()

} cout << k << endl;

return 0;

}

數軸上有n個閉區間,取盡量少的點,使每個區間至少有乙個點

【解法】

先排序(b從小到大,b相等時a從大到小,與上面的排序一樣),

然後每次選擇第乙個區間最後乙個點,往下找到包含此點的區間,又找到第乙個 不包含此點的區間,選擇

#include #include using namespace std;

struct interval ;

interval q[10001];

int n, sn, num; //sn表示多少個區間已經包含乙個點

bool flag[10001]; //區間i是否已經包含了乙個點

bool cmp(const interval i1, const interval i2)

int main()

} cout << num << endl;

return 0;

}

更新ing...

貪心 區間貪心

給出n個開區間 x,y 從中選擇盡可能多的開區間,使得這些開區間兩兩沒有交集。先對左端點 從大到小 排序,如果左端點相同就對右端點從小到大排序。區間不相交問題 include include using namespace std const int maxn 110 區間結構體 struct in...

問題 C 貪心 閉區間問題

題目描述 通過魔法鐘回來的張琪曼和魔法學院的其他學員一起研究營救李旭琳脫離 時空陷 的方法。他們建立了n個對歷史時間線的監控點,每個監控點可監控歷史上的乙個時間段,我們可以簡單地看做是 x 軸上 n 個閉區間。但有些監控點監控的時間段是重疊的,這會干擾監控的準確性。請嘗試去掉盡可能少的閉區間,使剩下...

C 區間覆蓋 貪心演算法

數軸上有 n個閉區間 ai,bi 選擇盡量少的區間覆蓋一條指定線段 1,t 不可能辦到輸出 1。定義乙個結構體代表區間,在讀入資料後,對資料進行多關鍵字排序 第一是左端點小的在前,第二是右端點大的在前 對資料進行過濾,左端點相同的區間只保留區間長度最大的,如果當前區間被之前保留的區間完全包含則去掉。...