狀態壓縮dp未吃透 筆記

2021-10-07 15:44:06 字數 705 閱讀 6500

一種使用位運算的優化型dp(其實就是用於優化)

這裡記一下常用的普通表示式的位運算表示(位運算比普通表示式運算時間少一些):

普通表示式

二進位制表示

pow(2,n)

1n>>1

n*2n<<1

解決多階段決策最優化問題(因為是優化型dp,所以解決題型與線性dp差不多)

#include

const

int inf=

1<<15;

using

namespace std;

int dp[inf+10]

;int dp1[inf+10]

;int n,m;

void print1(int num)

}int

main()

int res=-1

;for

(int i=

0;i<(1

<;i++)}

}for

(int i=

0;i<(1

<;i++)}

return0;

}

思路及解題程式(摘自洛谷大佬)%%%

其實只是因為本蒟蒻學了之後還沒做出來,之後也許會有一天能夠把這道題做出來並傳送awa

希望大家不要diss我,靴靴qwq

更多狀態壓縮dp合集

狀態壓縮 DP 學習筆記

對於乙個全集 u 的任意乙個子集 a u 我們可以用乙個n位的二進位制數來表示這乙個集合。其中,末位第 i 位數為 0表示 ai 不存在於該子集中,為 1 表示 ai 存在於該子集中。例如 全集 u 子集 a 那麼我們可以用 10101 2 來表示子集 a 對於全集 u的任意兩個子集 a b的二進位...

學習筆記 狀態壓縮DP

我們知道,用dp解決乙個問題的時候很重要的一環就是狀態的表示,一般來說,乙個陣列即可儲存狀態。但是有這樣的一些題 目,它們具有dp問題的特性,但是狀態中所包含的資訊過多,如果要用陣列來儲存狀態的話需要四維以上的陣列。於是,我們就需要通過狀態壓縮來儲存狀態,而 使用狀態壓縮來儲存狀態的dp就叫做狀態壓...

狀態壓縮DP

首先,我們以一道狀壓經典題tsp來引入。tsp問題 一張圖上有n個點,給定相應的鄰接矩陣,需要求出從0號節點出發,經過且只經過每個頂點一次,最後仍回到0號節點的最小邊權。思路 假設現在已訪問過的頂點集合 起點0當作還未訪問過的頂點 為s,當前所在頂點為v,用dp s v 表示從v出發訪問剩餘的所有頂...