1. 程式人生 > >牛客練習賽18E pocky遊戲 神仙狀壓?

牛客練習賽18E pocky遊戲 神仙狀壓?

正解:狀壓dp

解題報告:

是個好題,可以積累套路啟發性強,而且很難

!!!哇我哭死辣,打了半天然後電腦突然關機了QAQ從此學會隨手儲存QAQ

算了反正反正學懂了打起來應該挺快的QAQ

ummm那這題因為沒太懂所以和之前做疫情控制一樣分幾個板塊慢慢梳理趴qwq

首先要確定這題用什麼方法?

不要說是已經看到題解說用狀壓dp辣!

正兒八經說,如果沒有題解,怎麼思考這道題

關鍵點大概是在n<=20這個事兒,看到20應該就要敏感了,這個就很,狀壓dp是趴

好滴積累套路一:20這個範圍很有可能是狀壓dp可以往上面想下

然後確定方法之後就一步步思考,先把題目描述給一點點扣了

首先碰到第一坑點:絕對值

這一個又是一個,典型套路!就是,如果我們按部就班地一點點考慮,我們完全沒有辦法搞絕對值這個小妖精

但是如果它不是絕對值,就單純的+-還是有點可做性的感覺的?那我們就可以考慮去除絕對值

想到去除絕對值大概就會有點感覺了——按照大小順序確定!不就可以直接解決絕對值了嘛!

好滴那套路二來啦:如果碰到絕對值的問題可以考慮從小到大or從大到小考慮然後就可以直接把絕對值刪了

那我們現在就相當於是,從小到大考慮每個數在pi中的位置,然後再一點點做

恩然後按照狀壓dp的套路我們就可以得到肯定是設fi表示狀態i的minans咯,考慮怎麼轉移

先考慮每確定pi中的一個數會有什麼貢獻

顯然對於長度為m的那個序列中的每個數它只會對它左右的數造成貢獻,並且因為我們為了消除絕對值是從小往大考慮的所以我們只要考慮每個數對於已經確定了的左右的數造成的貢獻

然後我們可以預處理出來貢獻的

下課了回去寫?

umm也許就不寫了咕咕咕