演算法競賽知識提要4

2021-08-03 02:44:38 字數 883 閱讀 4049

再來說說圖(young)

特別的,把有向無環圖稱為dag.對於每個頂點我們給他乙個編號,第i號頂點vi,如果vi到vj有邊有i《j成立,這樣的編號方式稱為拓排序。如上圖的拓排序,編號方式從左到右,則邊的指向也從左到右,這樣就可以用dp的方式求解。

2.鄰接表

只需要把頂點做成煉表頭結點,誰和他相連就把他加入鍊錶中。這樣只需要|v|+|e|的記憶體空間。但是鄰接表實現會比較複雜,查詢兩個頂點是否有邊,這需要遍歷一遍鍊錶才知道。

例題二分圖判定

//輸入,注意是無向圖兩邊都得連一次

//g[i]裡的值就是i和它是否相連

vector

g[max_v];

//color[g[i][j]]表示與i相連的j,j的顏色,只有-1,1

int color[max_v];

int v;

bool dfs(int v,int c)

return

true;

}void solve()}}

cout

<

} }

2.最短路徑問題

貼乙個大神的帖子

python3 語法 知識點提要

1.程式設計方式 互動式程式設計 cmd命令列 指令碼式程式設計 執行 py檔案 2.識別符號 以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問 以雙下劃線開頭的 foo 代表類的私有成員 以雙 下劃線開頭和結尾的 foo 代表python裡特殊方法專用的標識 3.塊 ...

演算法競賽(二)

目錄 一 aabb問題 二 7744問題 三 3n 1 問題 四 近似計算 五 階乘之和 六 資料統計 問題描述 輸出所以形式為沒有 aabb 的完全平方數 例如1122,3344 bb可以為00,aa則不行,又aabb知,這是個四位數,由窮舉就可以把每個符合條件的列出來 沒有輸入 樣例輸出 110...

演算法競賽推薦

atcoder 首推,偏向思維鍛鍊,屬於思考兩小時,五分鐘。codeforces codechef 51nod 51nod的數學題可以說是一絕,可惜很長時間不辦比賽了。hackerrank 也有馬拉松賽制,不過要競速就沒有那麼休閒。題目難度分級比較好,就是感覺比較中規中矩,沒什麼亮點。現在似乎也很少...