标签:需要 nbsp ref 欧拉回路 pre max void 父节点 别人
紫书讲到了这,就顺便学了下欧拉图,发现自己菜如依旧。。
题源:https://www.luogu.com.cn/problem/P1341
首先是要判断是否存在欧拉路,需要满足两个条件,一个是连通性,另一个是奇点的个数。连通性看大佬都是用并查集做的,最后判断只有一个父节点即可。
然后就是用Hierholzer算法求欧拉回路的问题。其实只要用dfs就行了,不用开栈,记得倒序存储就可以了。
贴一下别人的代码
void dfs(int i) { for(int j = 0; j < maxn; j++) { if(G[i][j]) { G[i][j] = G[j][i] = 0; // 无向图删边 dfs(j); } } res[n--] = i; // 记录 }
标签:需要 nbsp ref 欧拉回路 pre max void 父节点 别人
原文地址:https://www.cnblogs.com/jionkitten/p/12286840.html