时间复杂度是 O(n+m), n 表示点数,m 表示边数

int n;      // n表示点数
int h[N], e[M], ne[M], idx;     // 邻接表存储图
int color[N];       // 表示每个点的颜色,-1表示未染色,0表示白色,1表示黑色// 参数:u表示当前节点,c表示当前点的颜色
bool dfs(int u, int c)
{color[u] = c;for (int i = h[u]; i != -1; i = ne[i]){int j = e[i];if (color[j] == -1){if (!dfs(j, !c)) return false;}else if (color[j] == c) return false;}return true;
}bool check()
{memset(color, -1, sizeof color);bool flag = true;for (int i = 1; i <= n; i ++ )if (color[i] == -1)if (!dfs(i, 0)){flag = false;break;}return flag;
}

~~染色法判别二分图相关推荐

  1. 【染色法判别二分图】

    模板题: AcWing 860. 染色法判定二分图 解题思路: (1)判断一个图是否是二分图,判断是否存在奇数环即可,用染色法判断即可. (2)二分图: 是指可以将点集分成两半,每个集合内都没有边,但 ...

  2. 染色法判定二分图 匈牙利算法

    染色法判定二分图 思路:相邻的点染不同颜色 看能不能染完 如果过程中出现相邻点相同颜色,就不可以 注意:需要遍历n个点 看此点是否被染色过 如果没有就进行一次dfs或bfs 二分图:可以把点分成两个集 ...

  3. hdu 5285(染色法判断二分图)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5285 解题思路:很明显的是二分图的判定,用染色法即可. 不过这题有一个坑,当n<=1和m=0时要 ...

  4. AcWing 860. 染色法判定二分图 (染色法)

    题目链接 : 点击查看 题目描述 : 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环. 请你判断这个图是否是二分图. 输入输出格式 : 输入 第一行包含两个整数 n 和 m. 接下来 m ...

  5. NYOJ1015 二部图(染色法判断二分图)

    描述 二部图又叫二分图,我们不是求它的二分图最大匹配,也不是完美匹配,也不是多重匹配,而是证明一个图是不是二部图.证明二部图可以用着色来解决,即我们可以用两种颜色去涂一个图,使的任意相连的两个顶点颜色 ...

  6. AcWing 860. 染色法判定二分图(染色法)

    题目连接 https://www.acwing.com/problem/content/862/ 思路 我们对每一个节点进行染色操作,我们需要注意的是我们染色后要将当前节点的所有相邻节点全部染成另一种 ...

  7. 图论 —— 染色法判断二分图

    二分图定义 二分图,又称二部图,英文名叫 Bipartite graph. 二分图是什么?节点由两个集合组成,且两个集合内部没有边的图.换言之,存在一种方案,将节点划分成满足以上性质的两个集合. 二分 ...

  8. E. Split Into Two Sets(染色法判断二分图)

    Problem - 1702E - Codeforces 波利卡普最近得到了一组n(数字n-偶数)的骨牌.每块多米诺骨牌包含1到n的两个整数. 他能把所有的骨牌分成两组,使每组骨牌上的数字都不一样吗? ...

  9. 常用代码模板3——搜索与图论(Bellman-Ford算法 、spfa 算法、floyd算法、Kruskal算法、染色法、匈牙利算法 )

    目录 一.树与图的存储 二.树与图的遍历 (1) 深度优先遍历 -- 模板题 AcWing 846. 树的重心 (2) 宽度优先遍历 -- 模板题 AcWing 847. 图中点的层次 拓扑排序 -- ...

最新文章

  1. Python学习 第2天 IDE开发工具
  2. Kubernetes 如何打赢容器之战?
  3. 成功解决AttributeError: ‘DataFrame‘ object has no attribute ‘tolist‘
  4. ABAP 动态的实现任意表的ALV显示
  5. 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
  6. angularJs-脏检查
  7. 为什么操作系统会有随机性
  8. 单节点Rancher 2.5.1 证书过期报错 x509: certificate has expired or is not yet valid 解决方案
  9. POJ 1365 Prime Land
  10. 【Gym-101889 D】Daunting device【分块】
  11. 计算机网络实验教程金伟祖,基于PDCA循环的计算机网络实验教学改革
  12. 掌握一门计算机语言需要多长时间,学习一门语言需要多长时间?科学告诉你
  13. 迈拓恢复出厂设置图解_恢复出厂设置在哪里 如何恢复出厂设置【图解】
  14. Hash和红黑树以及其在C#中的应用
  15. TypeError:Cannot read property 'bind' of underfined(React)
  16. AI 入行那些事儿(13)人工智能的三类技术岗位
  17. java网盘_和付费网盘说再见,跟着本文自己起个网盘(Java 开源项目)
  18. LightningChart数据可视化工具图形控件教程24-Bands(数据带)
  19. 易经八卦解释鸿蒙,易懂中的五行与八卦
  20. 【贪心】老鼠和猫的交易

热门文章

  1. 由c#事件监听、回调函数引发观察者模式
  2. hdu 2046 骨牌铺方格
  3. 和pbs的区别_少女针Ellanse易丽适和童颜针的区别,最全面解析
  4. QuantLib 金融计算——随机过程之概述
  5. 后台性能测试不可不知的二三事
  6. JS框架设计读书笔记之-函数
  7. 20160417_无为_常州
  8. 数据结构(树链剖分):BZOJ 4034: [HAOI2015]T2
  9. 良好的开端是成功的第一步———构建程序
  10. 如何修改Myeclipse中代码的字体大小?