猙塛 弾杺綜鞊

2022-02-17 23:53:31 字數 1219 閱讀 9798

貌似問最多最少的都可以扯扯貪心

\(n\)頭牛,\(m\)塊錢,\(k\)張優惠券,給每頭牛的原價和用優惠券的***,問最多能買幾頭

反悔貪心:

按***排序後的前\(k\)頭牛一定在選的牛內

對於k之後的牛,考慮什麼情況下使用優惠券

當降價幅度比之前用過優惠券的更優時,回撤之前降價幅度最低的券

即滿足\(c_i+p_j-c_j的條件,\(j\)是當前牛,\(p_i\)表示原價,\(c_i\)表示***

至於第一句話的正確性,康康就行

給一些座標和雷達範圍,限定雷達只能在\(x\)軸上,座標在一二象限,問最少放多少雷達能覆蓋所有座標

以每乙個座標為點,劃個雷達範圍的圓,看與最前方的點是否能在\(x\)軸相交,不能就更新為最前方的點

正確性很顯然:能相交就說明能共用雷達

題外話:哇,我那個時候竟然做過紫題,震驚(然而貌似是上課講的)

\(n\)個位置,圍成一圈,每個位置上種樹得到的貢獻不同,每個樹兩邊的座標不能種樹,問最大貢獻

對每個位置都向左右擴充套件,用堆來實現

以當前位置為起點,向左右建樹,劃定當前樹的管轄範圍和當前範圍的總貢獻

每取堆上乙個點,就向左右擴充套件並更新貢獻

新貢獻為在:新栽的樹-原貢獻

舉例:1 2 3 4 5

a b c d e

3入堆,左區間為2,右區間為4,貢獻為b+d-e

取出堆頂 3

左右擴充套件至1 5

新貢獻為a+e-(b+d-e)

balabala

幾個矮子,給定手的長度和身子的高度,最頂上的矮子可以用手,能夠到頂就能出去,問最多出去幾個

類似反悔貪心,先讓個子和手都大的壓在下面,小的放在上面,如果上面出不去,說明他永遠出不去了,直接拉到底,換個人在上

由於換的人不能選擇,所以直接跑揹包

也可以理解為,可能乙個人的個子大,手短,不逃出去更優,所以跑揹包

一些樹,可以向左倒也可以向右倒,條件是倒下的地方沒有其他樹,問最多倒多少樹

首先不用考慮第一顆樹和最後一顆,一定能倒下(第一顆左邊沒樹,最後一顆右邊沒樹)

然後其他的樹,能向左倒就向左倒,不能就向右,然後更新右端點