題解說用splay來解,我不會,我用貪心,
顯然的,在使當前答案最優的同時,也要保證當前做到的最後乙個乾草的高度最高,
把每個修改後高度一樣的乾草合成乙個塊,設每個幹草原高度為ai
,修改後的整塊的高度為bk
。 我們先來考慮區域性的解:
當前做到i, 如果b
k=ai
,直接合併上去, 如果b
k>ai
,新開乙個塊, 如果b
k,分類討論:
設塊中(含新加的i)的a⩽
bk有x個,
a>bk
有y個,
乙個結論:在只有兩個點的情況下,把乙個點公升高和把另乙個點減低的代價是一樣的,
同樣的,如果塊中x=
y ,那麼結論同樣成立,因為我們可以把它們看成一高一低兩兩配對的點對。 當x
>
y 時,只能把i點降低, 當x
=y時,代價與上情況相同,因為代價不變,可以公升高整塊的高度,
找到乙個高度q=
mina
j>bk
(用主席樹)為公升高的上限高度,因為如果再公升高代價就會變,
如果q大於上乙個塊的高度bk
−1,顯然不合法,只把當前區間公升到bk
−1,並把這兩個塊合併,
如果不是,就直接上公升到q,
最後的答案就是每個塊的代價和,
複雜度:o(
矩陣 點分治 BZOJ 4623 Styx
首先我們可以發現g x 1 1 x x x 所以 g n n d0 n 其中 d0 n 表示 n 的約數個數 然後就是樹上的問題了 我們知道叉乘不滿足結合律 打完之後才知道 汗 但是滿足反交換律 然後我們就可以把叉乘表示成矩陣的形式 這是有結合律的 然後就是卡常歷程 最後幾乎就是照著claris打了...
tyvj4623 球球大作戰 生存
背景 作為乙個oier,小天給自己做了乙個超牛的外掛程式 讓自己的球瞬間移動到場內的任何位置!這意味著小天可以瞬間移動到任何乙個比自己小的球上,把它吃掉。現在,小天只用外掛程式來瞬移,每次瞬移只能吃掉乙個球。現在房間內有n個大小不一的球,小天至少瞬移吃球多少次,才能比剩下的所有球都大呢?每次都吃掉最...
JZOJ 交換 模擬
給出字串s和字串t,現在你要把s的某乙個字元和t的某乙個字元交換,使得交換之後的s至少要有三個連續相同的字元,交換之後的t也要有三個連續相同的字元。問有多少種不同的交換方式。第一行,乙個字串s。s只含有 r g b 三種字元,長度不超過50,不小於3。而且s任意兩個相鄰的字元都不相同。第二行,乙個字...