狀態壓縮dp學習小記part2

2021-06-14 18:24:20 字數 1370 閱讀 6824

繼續學習狀態壓縮的相關知識。

本來準備繼續按照上篇博文裡提到的那篇**繼續學習,但被矩形完全覆蓋虐了回來,決定先做些其他的題增進理解之後再回來做。

zoj 3471 most powerful

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

#include #include #define max(a,b) ((a)>(b)?(a):(b))

int a[11][11];

int dp[1<<10];

int main ()

//計算乙個整型數x的二進位制中1的個數

int cal (int x)

return cnt;

}//找到所有可能的合法狀態,170種左右

void init ()

}} for (i=1;i<=top;i++)

for (j=1;j<=top;j++)

ans = max(ans,dp[n&1][i][j]);

printf("%d\n",ans);

} return 0;

}

hdu 1429 勝利大逃亡(續)

思路:這個題不是dp,是狀態壓縮+bfs,算是狀態壓縮的應用吧。

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

const int limit=1<<10;

const int n=21;

int n,m,all;

int dx[4]=;

int dy[4]=;

struct point

}now,temp;

char g[n][n];

bool visit[limit][n][n];

int change (char c)

int ok (int x,int y,int key)

int bfs (int sx,int sy)

dp[n];

bool visit[n];//表示完成j的狀態是否被訪問

int n;

struct data

}data[16];

void output (int status)//遞迴輸出課程安排表

void input ()

else}}

printf("%d\n",dp[limit].reduced);

output (limit);

} return 0;

}

Python學習筆記 part 2

ide vscode python版本 python3.6 學習教材 python程式設計從入門到實踐 人民郵電出版社 列表類似c中的陣列,但其中的元素可以沒有任何關係。列表用表示,用逗號分隔元素。直接列印列表將會把括號 元素 引號 逗號一併打出來,見書p31。列印列表元素不會有其他多餘符號或文字。...

動手學深度學習 Part2

前饋網路直接向前遞送資訊 不會再次接觸已經經過的節點 前饋網路根據標記的影象進行訓練,直到猜測影象類別時產生的錯誤最小化。通過一組經過訓練的引數 或者稱為權重,統稱為模型 網路就可以對它從未見過的資料進行分類了。乙個訓練好的前饋網路可以應用在任何隨機的 資料集中,它識別的第一張 並不會影響它對第二張...

白話機器學習演算法 Part 2

本文是 白話機器學習演算法 系列文章第二部分,第一部分 白話機器學習演算法 part 1 中我們介紹了 梯度下降法 最佳擬合線 線性回歸 包括正則化 領回歸 套索回歸 今天,我們繼續了解其他的機器學習演算法。01.邏輯回歸logistic regression 線性回歸 線性回歸 一些變數對另乙個變...