關於dp的學習

2021-09-25 09:25:19 字數 590 閱讀 3501

二進位制優化

假設揹包問題乙個物品有8個,我們可以發現可以把這八個分為 1,2,4,1;無論最後選幾個(1—8)都可以從這幾個數字中選出,也就不需要1,2,3,4,5,6,7,8個一次次的dp了。

也就是把n個分為2的零次方,2的一次方,……和多出來的。這樣複雜度減少了很多。

二狀態壓縮dp

通俗的說,即用0010100(二進位制)的第n位表示第n個東西取還是不取。

如果這些二進位製用十進位制表示的話就只有 乙個維度了。而且這乙個維度能表示所有物品放與不放的情況;這個過程就叫做狀態壓縮。

例題:poj的2411.

題目大意:給出乙個n*m的棋盤,問用1*2的多公尺諾骨牌將其完全覆蓋有多少種不同的方案。

n和m最大都只有11。

如果當前格沒有被覆蓋,說明我們至少可以放乙個1*2的方格,如果當前列的下一行也沒有被覆蓋,那麼我們可以放乙個

2*1的方格;如果被覆蓋, 那麼我們繼續往當前列的下一行遍歷 ,直到把這一列遍歷完; 在這個過程中 ,我們能求出

下一列的合法狀態(也就是可以到達的狀態),這是乙個搜尋的過程。

具體可以看大佬的分析:太強了qaq

關於數字DP的學習

恢復內容開始 因為最近做比賽經常會出現數字dp,便嘗試著去學學看數字dp。數字計數問題解法研究 數字類統計問題 然後也是尋找了很多大牛的部落格,學習了很多 但是沒學會囧。現在先總結一下已經學到的東西 在資訊學競賽中,有這樣一類問題 求給定區間中,滿足給定條件的某個d 進製數或 此類數的數量。所求的限...

關於數字DP的學習

恢復內容開始 因為最近做比賽經常會出現數字dp,便嘗試著去學學看數字dp。數字計數問題解法研究 數字類統計問題 然後也是尋找了很多大牛的部落格,學習了很多 但是沒學會囧。現在先總結一下已經學到的東西 在資訊學競賽中,有這樣一類問題 求給定區間中,滿足給定條件的某個d 進製數或 此類數的數量。所求的限...

關於概率dp的HINT

摘自shadowice1984的blog 這裡想講乙個關於概率題的小技巧,就是關於如何求某個事件發生的概率pp,事實上大家也清楚,除了一些特殊的近似演算法之外,我們在程式中計算概率的方法無非就是加減乘除四則運算而已 而減法和除法又是加法和乘法的逆。而在概率角度上,應該各位都是知道乘法原理和加法原理的...