對狀壓dp的一點理解

2021-07-30 11:27:22 字數 361 閱讀 9859

博主是初學者,以下僅代表個人觀點,若有錯誤歡迎指出。

狀壓dp

此dp可以理解為最暴力的dp,因為他需要遍歷每個狀態,所以將會出現2^n的情況數量,所以明顯的標誌就是資料不能太多(好像是<=16?),然後遍歷所有狀態的姿勢就是用二進位制來表示,01串,1表示使用,0表示未使用,就把所有的狀態投射到很多二進位制的數上(類似於hash?)然後對每個狀態找一"些"狀態的方法如下**,即狀壓dp的精髓!!!

補充:對位運算要熟練,位運算很重要!位運算很重要!

位運算很重要!

for(s=1;s<(1<=0;i--)

{

tem=1<

對狀壓dp的一點理解

最近學習了狀壓dp,既然是dp和其他的dp思想是一致的都是找到轉移方程轉移方法然後轉移就行。不同的在於狀壓dp利用了二進位制把乙個狀態記錄成乙個二進位制數。由於過去dp練習的多,刷一兩道題直接算是入門了。下面上兩道洛谷的入門狀壓dp 題意 給定乙個01矩陣,要求找出內部包含的滿足沒有相鄰1的方案數為...

對狀壓dp的見解

看了好幾篇部落格,終於對一些簡單的狀壓dp有了點了解。就像hdu1074。有個部落格 感覺淺顯易懂,但是就是看不出來,然後就是打表 打表 最左邊的一列1 7是 s 1 1 3 的每一種狀態,s是每一塊的第一行,然後 i 0 n 1 temp 1 i 列舉 每一位的1 也就是每一塊的第二行 第三行是 ...

對動態規劃(dp)的一點理解

暑假實驗室搞集訓,實驗室安排我們幾個大二的 準大三 學長分別講點東西。我就被分到講dp 忽然發現,搞acm也有1年多了,好像都沒有好好的總結一下dp。就想說說我自己對dp的理解。dp其實是一種思想,而不是一種演算法。它的核心就是一空間換時間。通過對所有狀態的最優解的記錄,再通過某種遞推關係,得到最終...