蛋疼度度熊

2021-08-07 01:42:35 字數 1016 閱讀 3118

先把這些線段以左端點公升序排列,然後把重疊的,重合的,還有一些什麼特殊的情況都處理出來,把連續的幾段處理成一段(dalao說可以不處理)

然後開乙個佇列,從前往後壓入佇列,如果出現了斷開的部分,就用m比較,如果小於m,就把m減去這一段的長度,然後壓入佇列,如果大於m,就彈出隊首元素,增加m,直到這一段的長度小於m進行更新,在這期間,要不斷的進行更新ans的值,

要注意的是乙個測試點有許多資料,所以while輸入

然後我再while那裡一直tle………

#include 

#include

#include

#include

using namespace std

;struct hday[1001000],thn[1001000],now;

int comp(h a,h b)

queue q;

int main()

sort(day+1,day+n+1,comp);

now.l=day[1].l

; now.r=day[1].r

; int tot=0

; for(int i=1

;i else

}int maxn=0,ans=0

; q.push(thn[1].r-thn[1].l+1);

maxn=thn[1].r-thn[1].l+1

; for(int i=2

;i else

m-=thn[i+1].l-thn[i].r+1

; maxn+=(m+thn[i+1].r-thn[i+1].l-1);

q.push(thn[i+1].l-thn[i].r+1);

q.push(thn[i+1].r-thn[i+1].l+1);}}

cout<;

}return 0

;}

度度熊回家

度度熊回家 時間限制 1秒 空間限制 32768k 乙個數軸上共有 n個點,第乙個點的座標是度度熊現在位置,第 n 1個點是度度熊的家。現在他需要依次的從 0號座標走到 n 1號座標。但是除了 0號座標和 n 1號座標,他可以在其餘的 n 2個座標中選出乙個點,並直接將這個點忽略掉,問度度熊回家至少...

度度熊回家

輸入乙個正整數n,n 50。接下來n個整數表示座標,正數表示x軸的正方向,負數表示x軸的負方向。絕對值小於等於100輸出描述 輸出乙個整數表示度度熊最少需要走的距離。輸入例子 4 1 4 1 3輸出例子 4思路 這題的關鍵在如何找到可以去除的那一點。考察連續的三個點,若三點的值都是遞增的,如,這樣,...

蛋疼的遞迴

幾個經典的遞迴場景 1.斐波那契 2.二叉樹的周遊 深度 前中後序 3.全排列問題 非簡單的全排列 允許字母重複 4.尋找滿足條件的n個數 第乙個的變種 跳台階 題目 乙個台階總共有n 級,如果一次可以跳1 級,也可以跳 2 級。求總共有多少總跳法,並分析演算法的時間複雜度。第二個要複習下非遞迴的寫...