二分图 染色法 + 匈牙利算法

染色法判断二分图

const int N = 1e5 + 10, M = 2 * N;int e[M], ne[M], h[N], n, m, idx = 0, color[N];
void add(int a, int b){e[idx] = b; ne[idx] = h[a]; h[a] = idx++;}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] == 0){                   // 染色其连通点,如果存在染色矛盾,立即返回falseif(dfs(j, 3 - c) == false)return false;}                   // 发生颜色矛盾,连通点的颜色相同else if(color[j] == c)return false;}return true;            // 对连通点的染色过程未发生矛盾
}int main()
{fill(h, h + N, -1);cin >> n >> m;while(m--){int a, b;cin >> a >> b;add(a, b);add(b, a);}bool flag = true;for(int i = 1; i <= n; ++i){if(color[i] == 0)flag = dfs(i, 1); if(flag == false)break;}if(flag)cout << "Yes";elsecout << "No";return 0;
}

匈牙利算法求二分图最大匹配

const int N = 510, M = 1e5 + 10;
int n1, n2, m, h[N], e[M], ne[M], idx = 0;
int match[N];
bool visited[N];
void add(int a, int b){e[idx] = b; ne[idx] = h[a]; h[a] = idx++;}int find(int u)
{for(int v = h[u]; v != -1; v = ne[v]){int j = e[v];if(visited[j] == false){                           // 若j已有匹配,试找与其匹配的点visited[j] = true;      // 是否还有其他相连通且未发生匹配的点if(match[j] == 0 || find(match[j])){match[j] = u;return true;}}}return false;
}
int main()
{fill(h, h + N, -1);cin >> n1 >> n2 >> m;while(m--){int a, b;cin >> a >> b;add(a, b);}int ret = 0;for(int i = 1; i <= n1; ++i){fill(visited, visited + N, false);  // 每次查询一个点的匹配,都要置空if(visited[i] == false)             // match保证了已匹配的点的状态{if(find(i))ret++;}}cout << ret;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仅用2天就备案完成了,这速度也太快了...

引言 大家好&#xff0c;就在前天&#xff0c;笔者才发布了文章《时隔78天&#xff0c;个人微信小游戏内容审核终于通过了&#xff0c;这到底是经历了什么…》。 感慨了游戏内容审核的不容易&#xff0c;同时简单介绍了备案的流程。 没想到申请备案才2天&#xff0c;就已经过…

如何对高并发系统进行压力测试?重要参数详解

前言 大家好&#xff0c;我是chowley&#xff0c;今天来介绍一下——高并发系统下的压力测试 本文将深入探讨如何对高并发系统进行压力测试&#xff0c;重点解析压力测试中的关键参数。 压力测试 在当今的软件开发领域中&#xff0c;高并发系统的性能至关重要的。为确保系统…

TongWeb8交流常见问答集

问题1&#xff1a;今后用到你们TongWeb产品该联系谁&#xff1f; 答复&#xff1a; 1. 商务问题&#xff0c;如&#xff1a;报价、license授权、合同等请联系销售。 2. TongWeb技术问题&#xff0c;未签项目联系售前&#xff0c;已签项目联系售后。有指定项目经理的项目&…

【EI会议征稿】第三届大数据、区块链与经济管理国际学术会议 (ICBBEM 2024)

第三届大数据、区块链与经济管理国际学术会议 (ICBBEM 2024) The 3rd International Conference on Bigdata Blockchain and Economy Management 第三届大数据、区块链与经济管理国际学术会议(ICBBEM 2024)&#xff0c;将于2024年3月22-24日在中国南昌召开。大会由江西科技师…

2023年衣物清洁赛道行业数据分析(电商数据查询):总销额同比下滑21%

衣物清洁产品是日常生活中的必备消费品&#xff0c;加之消费频次较高&#xff0c;因此在我国较大的人口基数背景下&#xff0c;衣物清洁市场的整体体量也比较大。不过&#xff0c;从年度的销售走势看&#xff0c;2023年衣物清洁市场的整体销售呈现一定幅度的下滑。 根据鲸参谋…

深入浅出 diffusion(2):pytorch 实现 diffusion 加噪过程

我在上篇博客深入浅出 diffusion&#xff08;1&#xff09;&#xff1a;白话 diffusion 原理&#xff08;无公式&#xff09;中介绍了 diffusion 的一些基本原理&#xff0c;其中谈到了 diffusion 的加噪过程&#xff0c;本文用pytorch 实现下到底是怎么加噪的。 import torch…

Oracle篇—分区表和分区索引的介绍和分类(第一篇,总共五篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…

教培行业的手机软件应该有哪些功能

DT浏览器是一款面向教育行业的手机软件&#xff0c;主要有网络搜索、资料收藏&#xff08;可分类和排序&#xff0c;只有DT浏览器有这个功能&#xff09;、人工智能写作、人工智能知识问答、内部交流&#xff08;功能比某信强大&#xff0c;自己管理&#xff0c;自由度高&#…

shell监控目录下新增的文件并进行处理

用户每天上传文件到指定目录&#xff0c;通过shell脚本尽快识别到新上传的文件已经上传完成&#xff0c;然后就处理新上传的文件。 通过ls记录文件名列表到临时文件中&#xff0c;然后通过diff比较识别新增的文件&#xff1b; 通过文件的大小变化判断新增文件是否上传完成&…

金蝶云星空—开发直接SQL报表

项目场景&#xff1a; 金蝶云星空报表开发 问题描述 金蝶云星空直接SQL开发不需要些代码&#xff0c;只通过SQL脚本即可开发 解决方案&#xff1a; 步骤如下&#xff1a; 步骤一&#xff1a; 打开BOSS开发平台&#xff0c;打开 -》财务会计 -》总账 -》账表 -》直接SQL账表…

C语言的模型玩具:结构体的使用以及操作符优先级

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;今天分享结构体的使用&#xff0c;声明以及操作符的使用。 前言&#xff1a; 如果你想做一块月饼&#xff0c;你要学习它的制作方法&#xff0c;需要准备面粉&#xff0c;白砂糖&#xff0c;奶粉&…

构建未来学堂:在线教育系统开发技术实践

在当今数字化时代&#xff0c;在线教育系统的开发越发显得至关重要。本文将带你深入了解在线教育系统的开发&#xff0c;涉及到关键的技术实践和代码示例。我们将采用现代化技术栈&#xff0c;为未来学堂的搭建提供实用的指南。 技术栈选择 在开始实际的开发之前&#xff0c…

给编译好的so修改rpath为当前路径

这几天调整安装&#xff0c;发现有些文件安装到/lib下。就想复制到安装目录&#xff0c;这样影响更少。然后发现rpath有问题。怎么办&#xff1f;修改为当前路径最好。 当前路径的两种表示方法 .或者$ORIGIN NEW_RPATH.:/usr/local/lib/:/lib/aarch64-linux-gnu/ NEW_RPATH\…

openssl3.2/test/certs - 069 - www.bad.net excluded by parent CA.

文章目录 openssl3.2/test/certs - 069 - www.bad.net excluded by parent CA.概述笔记END openssl3.2/test/certs - 069 - www.bad.net excluded by parent CA. 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\study\openSS…

RX4901CE (RTC模块)

RX4901CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。高稳定性&#xff0c;低电流消耗&#xff0c;时间戳功能&#xff0c;当外部或内部事件发生时&#xff0c;可以记录多达32个日期和时间&#xff0c;以及基本的RTC功能&#xff0c;如时间和日历&#xff…

Backtrader 文档学习-Order OCO orders

Backtrader 文档学习-Order OCO orders 主要是可以使用订单组的管理策略&#xff0c;使用订单组策略&#xff0c;则一组订单中&#xff0c;有一个符合条件的订单成交&#xff0c;订单组中其他的订单就自动被取消。 1.概述 V1.9.36.116 版本交互式代理支持StopTrail、StopTra…

Spring复习更新中

Spring复习更新中 Bean的生命周期SpringIoc(Inversion of Control)注解 SpringBootSpringMVCSpringCloud 更新中ing JVM/GC复习已更新完 Bean的生命周期 五步 第一步&#xff1a;实例化Bean第二步&#xff1a;Bean属性赋值第三步&#xff1a;初始化Bean第四步&#xff1a;使用…

H.264与H.265的主要差异

H.265仍然采用混合编解码&#xff0c;编解码结构域H.264基本一致&#xff0c; H.265与H.264的主要不同 编码块划分结构&#xff1a;采用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的递归结构。 并行工具&#xff1a;增加了Tile以及WPP等并行工具集以提高编码速…

【图形学】贝塞尔曲线理论与实践

贝塞尔曲线&#xff08;Bezier Curve&#xff09;在计算机图形领域应用非常广泛&#xff0c;比如我们 CSS 动画、 Canvas 以及 Photoshop 等都可以看到贝塞尔曲线的身影。 贝塞尔曲线类型 贝塞尔曲线根据_控制点_的数量分为&#xff1a; 一阶贝塞尔曲线&#xff08;2 个控制点…

SpringCloud-Knife4j文档聚合

在微服务架构下&#xff0c;如果给每个微服务都配置文档&#xff0c;那么每个微服务的接口文档都有自己独立的访问地址&#xff0c;这样要一个个打开每个微服务的文档非常麻烦。一般我们会采用聚合的办法&#xff0c;将所有微服务的接口整合到一个文档中&#xff0c;具体做法有…