區間覆蓋 AcWing 貪心

2021-09-27 11:47:04 字數 869 閱讀 6139

給定n個閉區間[ai,bi]以及乙個線段區間[s,t],請你選擇盡量少的區間,將指定線段區間完全覆蓋。

輸出最少區間數,如果無法完全覆蓋則輸出-1。

輸入格式

第一行包含兩個整數s和t,表示給定線段區間的兩個端點。

第二行包含整數n,表示給定區間數。

接下來n行,每行包含兩個整數ai,bi,表示乙個區間的兩個端點。

輸出格式

輸出乙個整數,表示所需最少區間數。

如果無解,則輸出-1。

資料範圍

1≤n≤1e5

−1e9≤ai≤bi≤1e9

−1e9≤s≤t≤1e9

輸入樣例:

1 5

3-1 3

2 43 5

輸出樣例:

2
解題思路:對給定區間的左端點進行從小到大的排序,然後列舉每個區間,選擇能覆蓋掉s的區間中最大的右端點區間。然後更新s為最大右端點。

**如下:

#includeusing namespace std;

const int maxn=1e5+10,inf=0x3f3f3f3f;

typedef long long ll;

ll s,t;

struct quejian**[maxn];

bool cmp(quejian a,quejian b)

sort(**,**+n,cmp);

ll xx=0,yy=0;

for(int i=0;i<=n;i++)

s=yy;

i=xx-1;

}cout

}

區間覆蓋(貪心)

題目 區間覆蓋 貪心 題意 給定 n 個閉區間 ai,bi 以及乙個線段區間 s,t 請你選擇盡量少的區間,將指定線段區間完全覆蓋。輸出最少區間數,如果無法完全覆蓋則輸出 1。輸入格式 第一行包含兩個整數 s 和 t,表示給定線段區間的兩個端點。第二行包含整數 n,表示給定區間數。接下來 n 行,每...

區間選點 貪心 acwing

1 微擾 任何區域性最優的微笑改變都會造成整體結果變差 2 範圍縮放 任何對區域性最優策略作用和範圍的擴充套件都不會造成整體結果變差 3 決策包容性 區域性最優策略提供的可能性包含其他所有策略提供的可能性 4 反證法 5 數學歸納法 這道題目要求在數軸選點,使每個區間至少包含乙個點,本質上是說,相交...

貪心 區間覆蓋問題

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