cjy基础动态规划
cjy基礎動態規劃
P2219 [HAOI2007]修筑綠化帶
對于一個nm的矩形空間內,然后選擇一個ab的矩形加上它所在部分的權值,然后在內部再選擇一個c*d的矩形,然后減去它的權值和,求解最大的權值。
首先我們可以通過枚舉求得所有右下角對應位置的矩形大小內的權值和,然后我們要求的就是另一個矩形范圍內的權值最小值,這樣我們就把問題轉化為了求解所有等大小矩形范圍內的最小值,那么有一個經典的單調隊列技巧可以解決這個問題,在兩維上分別處理最小值。
P3943 星空
對于給定01串,有k個地方是0,然后可以選擇m種長度區間取反,求解最小需要多少次能夠將整個01串變成1。
k<=8,m<=64
首先區間問題難以處理,我們先差分將區間操作轉化為兩個點反轉,然后關注兩個操作點之間的距離,發現可以加減,然后我們不能枚舉所有2^n但是這個問題,因為值域范圍很小,所以可以背包,然后求解產生某個長度的最小次數。
然后對于可加可減可以將負的值也作為物品來處理。
最后對于每一個狀態,我們需要進行狀壓dp,每次一定是將某兩個點一起消除,或者單點消除,我們已經獲得了對應的花費就可以dp了。
總結
- 上一篇: 六味地黄丸可以治疗脱发吗
- 下一篇: E - The Imp(博弈/动态规划)