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...