HDU 6119(區間交叉問題)

2021-08-06 05:16:18 字數 798 閱讀 7346

input

本題包含若干組測試資料。

第一行兩個整數n,m,表示有n個區間,這n個區間內的天數,度度熊都簽到了;m表示m張補簽卡。

接下來n行,每行兩個整數(l[i],r[i]),表示度度熊從第l[i]天到第r[i]天,都進行了簽到操作。

資料範圍:

1<=n<=100000

0<=m<=1000000000

0<=l[i]<=r[i]<=1000000000

注意,區間可能存在交叉的情況。

output

輸出度度熊最多連續簽到多少天。

sample input

2 11 1

3 31 2

1 1sample output

hint

樣例一:度度熊補籤第2天,然後第1天、第二天和第三天都進行了簽到操作。 樣例二:度度熊補籤第2天和第3天。

題意:中文題就不說了。

思路:將相交區間進行處理,之後直接進行尺取即可。需要注意邊界問題處理。

**:

#includeusing namespace std;

const int maxn=1e5+5;

typedef long long ll;

struct node

a[maxn],b[maxn];

bool cmp(node x,node y)

}ans=max(ans,b[r].r-b[l].l+1+m-len);

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

}return 0;

}

HDU6119 小小粉絲度度熊(區間)

區間有n個區間,這n個區間內的天數,都簽到了,m表示m張補簽卡 區間可能存在交叉的情況,求最多連續簽到多少天 include include include include using namespace std typedef long long ll int n,m const int maxn...

1 區間選點 區間問題

區間問題一般都需要對區間進行排序,對左端點排序,或對右端點排序,或雙關鍵字排序 然後需要 證明這樣的選法選出來的點數一定是符合答案的,且是選點最少的 首先按照這個方法來選的話,每乙個區間上一定選了乙個點,所以這種選法是一種合法的方案 然後這道題的最優解是指所有合法方案中的選點最少的,所以 所以ans...

hdu 1698 區間更新

基礎題 初學 include include using namespace std define lson l m rt 1 define rson m 1 r rt 1 1 const int maxn 101000 int h w n int col maxn 2 標記是否當前節點梗係 int...