zoj 2297 DP 位運算狀態壓縮

2021-05-27 01:54:00 字數 708 閱讀 9650

越來越覺得位運算好神啊。。。

用位運算來儲存每個狀態

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#define ll long long

#define pi acos(-1)

#define n 1<<20+10

#define inf 999999999

#define eps 1e-8

//****************************************

//zoj2297 dp

//****************************************

int dp[(1<<20)+10];

int a[n],b[n];

int main()}}

if(dp[m-1]>=c)

printf("clear!!!\n");

else

printf("try again\n");

}return 0;

}

sgu225 裝壓DP 位運算

題意是 給出乙個 n n 的棋盤 問放置 k 的 騎士 相當於 象棋中的馬 有多少中放置方法。n等於10 是tle 於是 n 10 打表 用 dfs寫的 執行時間長,但 簡單。開陣列時 用到滾動陣列。由於攻擊範圍是 兩行 所以 是在三行之間做dp 每種狀態表示兩行 這樣上下三行之間的關係就兩種狀態直...

狀態壓縮DP之位運算總結

介紹 在進行dp題目分析時,針對狀態或子狀態可以抽象為 0 1 排列組合的題目時,將其 0 1 序列轉化為二進位制數,再而轉換為十進位制數,可以更加便捷的對其進行資料分析處理,減少因為混亂所造成的一些不必要的錯誤。魔鬼往往藏在細節之中。常用運算子 都是十進位制數在二進位制下所做的運算,返回十進位制的...

最短Hamilton路徑(狀壓dp與位運算)

給定一張 n n 20 個點的帶權無向圖,點從0 n 1標號,求起點 0 到終點 n 1 的最短hamilton路徑。hamilton路徑的定義是從 0 到 n 1 不重不漏地經過每個點恰好一次。第一行乙個整數n。接下來n行每行n個整數,其中第i行第j個整數表示點i到j的距離 乙個不超過10 7的正...