最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

425 狀態(tài)壓縮DP 小國王【動態(tài)規(guī)劃】

2023-04-21 15:51 作者:零-雪鴉  | 我要投稿

小國王的滾動數(shù)組優(yōu)化沒有,我這里貼一下補全。

```C++

#include?<iostream>

#include?<cstring>

#include?<algorithm>

using?namespace?std;

int?n,?k;???????//棋盤行數(shù),國王總數(shù)

int?cnt;????????//一行的合法狀態(tài)個數(shù)

int?s[1?<<?9];?//一行的合法狀態(tài)集

int?num[1?<<?9];?//每個合法狀態(tài)包含的國王數(shù)

long?long?f[2][82][1?<<?9];//?放0?<=?K?<=?N?*?N,?0-81//??1?<=N?<=9行,11臨界

//f[i,j,a]表示前i行已放了j個國王,第i行的第a個狀態(tài)時的方案數(shù)

int?main()?{

????cin?>>?n?>>?k;

????for?(int?i?=?0;?i?<?(1?<<?n);?i++)?//枚舉一行的所有狀態(tài)

????????if?(!(i?&?i?>>?1))?{??????//如果不存在相鄰的1

????????????s[cnt++]?=?i;???????????//一行的合法狀態(tài)集,例101

????????????for?(int?j?=?0;?j?<?n;?j++)

????????????????num[i]?+=?(i?>>?j?&?1);?//每個合法狀態(tài)包含的國王數(shù)

????????}

????f[0?&?1][0][0]?=?1;???????????????//邊界

????for?(int?i?=?1;?i?<=?n?+?1;?i++)?//枚舉行可能編譯器檢查?i?==?n?+?2

????????for?(int?j?=?0;?j?<=?k;?j++)??//枚舉國王數(shù)

????????????for?(int?a?=?0;?a?<?cnt;?a++)?{?//枚舉第i行的合法狀態(tài)

????????????????f[i?&?1][j][a]?=?0;//?清空f[i?&?1][j][a]為零,避免影響計算

????????????????for?(int?b?=?0;?b?<?cnt;?b++)?{?//枚舉第i-1行的合法狀態(tài)

????????????????????int?c?=?num[s[a]];??????//第i行第a個狀態(tài)的國王數(shù)

????????????????????if?((j?>=?c)????????????//可以繼續(xù)放國王

????????????????????????&&?!(s[b]&s[a])???????//不存在同列的1

????????????????????????&&?!(s[b]?&?(s[a]?<<?1))?//不存在斜對角的1

????????????????????????&&?!(s[b]?&?(s[a]?>>?1)))

????????????????????????f[i?&?1][j][a]?+=?f[(i?-?1)?&?1][j?-?c][b];?//行間轉(zhuǎn)移

????????????????}

????????????}

????cout?<<?f[(n?+?1)?&?1][k][0]?<<?endl;?//第n+1行不放國王的方案數(shù)

????return?0;

}

```

425 狀態(tài)壓縮DP 小國王【動態(tài)規(guī)劃】的評論 (共 條)

分享到微博請遵守國家法律
盈江县| 高唐县| 亚东县| 土默特右旗| 内江市| 宣武区| 英超| 峨眉山市| 罗江县| 汝州市| 奉贤区| 射洪县| 德兴市| 潜山县| 故城县| 永胜县| 广昌县| 五指山市| 丽水市| 专栏| 平顶山市| 万全县| 贺州市| 兴隆县| 曲沃县| 黔西| 新津县| 通化市| 合山市| 海兴县| 临邑县| 新泰市| 兴仁县| 朝阳区| 道真| 疏勒县| 新绛县| 淮北市| 上蔡县| 柳州市| 聂拉木县|