随笔分类 - 图论
摘要:与DFS、BFS不同的地方在于A*算法是一种启发性搜索,利用估值函数(f(n)=g(n)+h(n))以及优先级队列。 模板题:POJ-2449
阅读全文
摘要://队列优化 O(VE)const int MAXN = 1e5+5; const int INF = 0x3f3f3f3f; struct Edge { int from,to,dist; Edge(int u,int v,int w):from(u),to(v),dist(w){ } }; struct SPFA { int n,m; vectoredg...
阅读全文
摘要://普通版本 O(n^2)int vis[n],d[n]; memset(vis,0,sizeof(vis)); for(int i=0;i edges; vector G[maxn]; bool done[maxn]; int d[maxn]; int p[maxn]; void init(int n){ this->n=n; ...
阅读全文
摘要://黑白二着色-bicoloring(判断是否为二分图)int color[maxn]; bool bipartite(int u){ for(int i = 0; i < g[u].size(); i++){ int v = g[u][i]; if(color[u] == color[v]) return false; if(!color...
阅读全文
摘要:int c[maxn]; int topo[maxn]; bool dfs(int u) { c[u] = -1; for(int v = 0; v < n; v++) if(G[u][v]) { if(c[v] < 0) return false; else if(!c[v]&&!dfs(v)) return false; } c...
阅读全文

浙公网安备 33010602011771号