Codeforces Round #792 (Div. 1 + Div. 2) D, E
2022-05-20 15:21 作者:Asunataisiki | 我要投稿
D. Traps
題意:有個陷阱,每個陷阱會受到
點傷害,現(xiàn)在最多可以跳過
個陷阱,,但每跳過一個陷阱后面的陷阱傷害全部+1,問受到的最小傷害是多少
思路:因為每跳過一個陷阱,后面的傷害都會增加1,所以跳過一個陷阱相當(dāng)于把這個陷阱的傷害從替換成
,所以我們只用貪心地去維護前
大的
的值即可
E.MEX vs DIFF
題意:定義表示數(shù)組中有多少個不同的數(shù)字,
表示數(shù)組中未出現(xiàn)過的最小非負整數(shù),現(xiàn)在給出
個數(shù),現(xiàn)在可以操作
次,把其中一個數(shù)字變成另外一個數(shù)字,求
的最小值
賽時想到了,但是寫不來代碼233(代碼參考知乎嚴格鴿)
思路:首先要讓這個式子值變小,肯定是讓變小,
變大是最優(yōu)的,我們下面這個情況?
,如果我們把5變成3,那么
增大1,
也增大1,答案不變;如果我們把6變成3,
不變,
增大1,答案減小,因此策略應(yīng)該是讓
變大,并且進一步分析可以發(fā)現(xiàn),選擇比mex大,并且出現(xiàn)次數(shù)小的優(yōu)先改變
標(biāo)簽: