欧拉回路习题心得

1.对于一个连通图而言,有这样的一个性质:其需要画的笔数=度数为奇数的点数除以2,那么由于给出的图并没有说明是否是连通图,我们需要用并查集来维护连通图,并且忽略单点的“子图”

2. 欧拉遍历就很短的几行:

void euler(int x){
    for(int i=1;i<=m;i++)
        if(!vis[i] && (edges[i].u==x || edges[i].v ==x)){
            vis[i] = 1;
            euler(edges[i].u+edges[i].v-x);
            ans[cnt++] = i;
        }
}

3.欧拉回路拆点:详细见bzoj2503

4.连通块填补边数成为欧拉分量分量公式:

全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
lllllkin:感觉可以精简到一页简历,有些排版感觉不是必须的。 时间线越早的,你自己越熟悉的放前面。描述可以更精简些,一些问题解决感觉可以不用写具体技术栈,卖个关子,等面试官问。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 20:55
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务