貪心區間問題

2021-09-22 18:34:58 字數 960 閱讀 2569

1、選擇不相交問題

51nod1133

數軸上有n個開區間(ai,bi),盡量選擇多個區間,是的這些區間兩兩之間沒有共同點。

#include#include#include#include#define ll long long

#define maxn 100005

int n;

using namespace std;

struct node

a[maxn];

bool cmp(node a,node b)

a[maxn];

bool cmp(node a,node b)

a[maxn];

bool cmp(node a,node b)

}printf("%d\n",ans);

}return 0;

}

4、區間完全覆蓋問題

問題描述:

給定乙個長度為m的區間,再給出n條線段的起點和終點(注意這裡是閉區間),求最少使用多少條線段可以將整個區間完全覆蓋。

poj1089

#include#include#include#include#define maxn 50005

using namespace std;

int n;

struct node

a[maxn];

bool cmp(node a,node b)

{ if(a.l==b.l)

return a.r5、區間部分覆蓋問題:

區間部分覆蓋問題

問題描述:

數軸上有n個閉區間[ai,bi],選擇盡量少的區間覆蓋一條指定線段[s,t]。

問題分析

將所有線段按照起點公升序,終點降序的順序排列,並且將所有在區間之外的部分切割掉。

貪心策略是每次選擇最長的線段,然後改變區間的左端點為選擇線段的右端點,重複上述過程。

區間問題 區間選點 區間問題 貪心

玄學的貪心問題,一般全憑直覺。貪心問題沒有固定討論,沒有模板,見多了就好了,證明想法的正確性是很困難的,大多採用反證法。905.區間選點 貪心思路 證明 時間複雜度 o n logn o nlogn o nlog n include include using namespace std const...

貪心 區間問題

區間選點 定n個閉區間 ai,bi ai,bi 請你在數軸上選擇盡量少的點,使得每個區間內至少包含乙個選出的點。輸出選擇的點的最小數量。位於區間端點上的點也算作區間內。輸入格式 第一行包含整數n,表示區間數。接下來n行,每行包含兩個整數ai,bi ai,bi 表示乙個區間的兩個端點。輸出格式 輸出乙...

貪心 區間覆蓋問題

區間覆蓋問題 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 設x1 x2 xn 是實直線上的n 個點。用固定長度的閉區間覆蓋這n 個點,至少需要多少個這樣的固定長度閉區間?對於給...