当前位置: 首页 > backend >正文

图论---染色法(判断是否为二分图)

O(n+m)

二分图:可以把所有的点划分到两边,使得边只在集合之间,集合内部没有边。

二分图当且仅当图中不含奇数环(边数为奇数条)

#include <iostream>
#include <vector>
#include <cstring>
using namespace std;const int N = 100010;
int n, m;
vector<int> g[N]; // 邻接表存图
int color[N];bool dfs(int u, int c) {color[u] = c;for (int j : g[u]) { // 遍历所有邻接点if (!color[j]) {if (!dfs(j, 3 - c)) return false;}else if (color[j] == c) return false;}return true;
}int main() {cin >> n >> m;while (m--) {int a, b;cin >> a >> b;g[a].push_back(b);g[b].push_back(a); // 无向图,双向加边}bool flag = true;for (int i = 1; i <= n; i++) {if (!color[i]) {if (!dfs(i, 1)) {flag = false;break;}}}if (flag) puts("Yes");else puts("No");return 0;
}

http://www.xdnf.cn/news/2014.html

相关文章:

  • PH热榜 | 2025-04-25
  • 【物联网】基于LORA组网的远程环境监测系统设计(ThingsCloud云平台版)
  • Feign接口调用失败降级机制
  • 力扣DAY68 | 热100 | 寻找两个正序数组的中位数
  • 【数据可视化-33】病毒式社交媒体潮流与用户参与度可视化分析
  • 入侵检测系统(IDS)与入侵防御系统(IPS):功能对比与部署实践
  • QT开发技术【QT实现桌面右下角消息】
  • 通过模仿学习实现机器人灵巧操作:综述(上)
  • 使用 AutoGen 与 Elasticsearch
  • 6.ArkUI Row的介绍和使用
  • 笔记:记一次使用EasyExcel重写convertToExcelData方法无法读取@ExcelDictFormat注解的问题(已解决)
  • 计算机视觉各类任务评价指标详解
  • 8. 深入Spring AI:自定义Advisor
  • 反爬策略应对指南:淘宝 API 商品数据采集的 IP 代理与请求伪装技术
  • OceanBase 复合索引指南
  • 项目maven版本不一致 导致无法下载
  • 人工智能与机器学习:Python从零实现性回归模型
  • 从“能耗大户”到“节能标杆”:安科瑞助力污水处理厂绿色转型
  • 告别进度失控:用燃尽图补上甘特图的监控盲区
  • Windows server:
  • [OS_8] 终端和 UNIX Shell | 会话和进程组 | sigaction | dash
  • 多模态大语言模型(MLLM)- kimi-vl technical report论文阅读
  • 航电系统之自适应航电修复机制篇
  • Flowable7.x学习笔记(十四)查看部署流程Bpmn2.0-xml
  • TestBrain开源程序是一款集使用AI(如deepseek)大模型自动生成测试用例、和测试用例评审、RAG知识库管理的web平台系统
  • 解读《地方标准制定负面清单》与安徽标准复审新规
  • 蜜罐管理和数据收集服务器:Modern Honey Network (MHN)
  • 成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
  • 企业部署Power BI 报表服务器,在第三方系统嵌套该报表服务器,并实现单点登录
  • 【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?