欧拉回路习题心得

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.连通块填补边数成为欧拉分量分量公式:

全部评论

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务