當我們想要遍歷一張圖的時候,我們就會使用 DFS/BFS
vector<int> adj[N]; int visited[N]; void dfs(int u){ for(auto v : adj[u]){ if(!visited[v]){ dfs(v); } } }
queue<int> q; q.push(s); while(!q.empty()){ int u = q.front(); q.pop(); for(auto v : adj[u]){ if(!visited[v]) q.push(v); } }
CSES Graph Algorithms
ABC211E - Red Polyomino
Directed Acyclic Graph
由於這個特性,我們可以利用這個來當
DP 的轉移順序
也就是我們常說的在 DAG 上 DP
Atcoder DP Contest
2021 薇閣資研 APCS 模擬題 pD - 平行宇宙
CF 510C - Fox and Names
Disjoint Set Union
By sam571128