zoj 3471 狀態壓縮dp

2021-06-25 20:27:00 字數 530 閱讀 4898

題目大意】不超過10種氣體,兩兩之間相互碰撞可以產生一定的能量,如a碰b,那麼b氣體就消失,自身不能碰自身,問最後所能得到的最大能量。

【題目解析】用10位二進位制表示氣體是否存在,0表示存在,1表示不存在,s(上乙個狀態)中的兩種氣體碰撞並且有一種消失,可以得到news的狀態(狀態轉移)

【狀態表示】dp[state] 狀態為state時的最大能量

【轉移方程】dp[state] = max(dp[state],dp[state']+a[i][j])

【邊界條件】dp[i] = 0;

#include #include #include #include #include #include #include #include #define inf 11111111

using namespace std;

int dp[1<<11];

int map[11][11];

int main()

}memset(dp,0,sizeof(dp));

for (i = 0; i < 1<

zoj3755 狀態壓縮dp

很久沒有1a了 爽 題目也是很常規的狀態壓縮題目,這類題目一般都是預處理所有狀態,然後通過列舉,判斷是否符合要求,再從符合要求的末狀態中找到答案即可。這個題目,由於給定的是所有偶數列,那麼,可以想到,每一列只跟左右兩列有關,其他列對其沒有影響。因此,只需要確定了兩列中的一列的狀態,另外一列便可以列舉...

ZOJ 3802 (狀態壓縮dp)

首先,最樸素的思想為暴搜所有解o 2 n 不可接受 已d i j 代表前 i 個數字 裡 已作出選擇後產生的序列記為 j j 最大為 16,8,4,2全部除以壓縮一下 4000 注意 j 儲存的是乙個序列經產生所屬運算後最後的遞減數數列 舉個栗子 14 8 4 2 當添入 2 變為 16,添入 4 ...

ZOJ2563 之狀態壓縮dp

long dominoes time limit 2 seconds memory limit 65536 kb find the number of ways to tile an m n rectangle with long dominoes 3 1 rectangles.each domin...