【图论】二分图
二分图,即可以将图中的所有顶点分层两个点集,每个点集内部没有边
判定图为二分图的充要条件:有向连通图不含奇数环
1、染色法
可以解决二分图判断的问题
步骤与基本思路
遍历图中每一个点,若该点未被染色,则遍历该点所相邻的点,相邻的点中未被染色的进行染色操作,已被染色的判断颜色是否合法,合法继续遍历,不合法退出
染色法板子
bool flag = true;
for (int i = 1; i <= n; i ++ )
{if (!color[i]) // 未被染色则开始遍历{if (!dfs(i, 1)){flag = false;break;}}
}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]) // 未被染色的点进行染色{if (!dfs(j, 3 - c)) return false;}else if (color[j] == c) return false; // 已染色的点判断是否合法}return true;
}
2、匈牙利算法
可以解决最大匹配数的问题,也就是二分图的两个点集可以连多少条一一对应的边
步骤与基本思路
(1)遍历第一个点集的所有点,每个点遍历之前要记得把第二个点集的状态清空
(2)依次遍历这些点相邻的点,若该点未被遍历过,则判断该点是否满足未与前面的点匹配过或前面与它匹配的点有其他的匹配方案,若满足任意条件则让现在的两点匹配,不满足则说明当前第一个点集的这个点没有匹配对象
匈牙利算法板子
for (int i = 1; i <= n1; i ++ )
{memset(st, false, sizeof st); // 清空第二个点集的状态if (find(i)) res ++ ;
}bool find(int x)
{for (int i = h[x]; i != -1; i = ne[i]){int j = e[i];if (!st[j]) // 若该点未被遍历过{st[j] = true;// 该点是否满足 未被匹配过 or 匹配的第一个点集的点有其他成功匹配方案if (match[j] == 0 || find(match[j])){match[j] = x; // 匹配现在的这两点return true;}}}return false;
}
相关文章:
【图论】二分图
二分图,即可以将图中的所有顶点分层两个点集,每个点集内部没有边 判定图为二分图的充要条件:有向连通图不含奇数环 1、染色法 可以解决二分图判断的问题 步骤与基本思路 遍历图中每一个点,若该点未被染色,则遍历该…...
数据结构——(一)绪论
👉数据元素整体思维导图 欢迎补充 一、基本概念❤️ 1.1基本术语⭐️ (1)数据 客观事务属性的数字、字符。 (2)数据元素 数据元素是数据的基本单位,一个数据元素可由若干数据项组成,数据项是…...
[ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择
前几天看到一个问答帖,我回答完了才发现这个帖子居然是去年的也没人回复,其中他问了一些华为云的问题,对于其中的一些概念,这里来总结讲解一下,希望对学习华为云的小伙伴有所帮助。 文章目录 区域(Region&a…...
表单验证:输入的字符串以回车分隔并验证是否有
公司项目开发时,有一个需求,需要对输入的字符串按回车分隔并验证是否有重复项,效果如下: 表单代码: <el-form-item label"IP地址条目:" prop"ipAddressEntry"><el-inputtype&…...
智能财务分析-亿发财务报表管理系统,赋能中小企业财务数字化转型
对于许多中小企业来说,企业重要部门往往是财务和业务部门。业务负责创收,财务负责控制成本,降低税收风险。但因管理机制和公司运行制度的原因,中小企业往往面临着业务与财务割裂的问题,财务数据不清晰,无法…...
图为科技T501赋能工业机器人 革新传统工业流程
工业机器人已成为一个国家制造技术与科技水平的重要衡量标准,在2019年,中国工业机器人的组装量与产量均位居了全球首位。 当前,工业机器人被广泛用于电子、物流、化工等多个领域之中,是一种通过电子科技和机械关节制作出来的智能机…...
安全狗深度参与编写的《云原生安全配置基线规范》正式发布!
7月25日,由中国信息通信研究院、中国通信标准化协会主办的2023可信云大会在北京顺利开幕。 作为国内云原生安全领导厂商,安全狗受邀出席此次活动。 厦门服云信息科技有限公司(品牌名:安全狗)成立于2013年,…...
如何在3ds max中创建可用于真人场景的巨型机器人:第 2 部分
推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建主体 步骤 1 打开 3ds Max。选择机器人头部后,二次单击鼠标并选择隐藏未选中。机器人的其他部分 除了头部之外,将被隐藏。 打开 3ds Max 步骤 2 在人脸选择模式下&#x…...
Vue中TodoList案例_编辑
nextTick: MyItem.vue 加一个编辑按钮,input框:blur失去焦点时触发事件handleBlur,ref获取真实dom: <inputtype"text"v-show"todo.isEdit":value"todo.title"blur"handleBlur(todo,$even…...
什么是Redis?
什么是Redis 什么是Redis一、特性1. 支持多种数据结构2. 读/写速度快,性能高。3. 支持持久化。4. 实现高可用主从复制,主节点做数据副本。5. 实现分布式集群和高可用。 二、基本数据类型string(字符串)list(双向链表)set(集合)zse…...
深入浅出理解vue2/vue3响应式原理
一、简介 当谈论Vue 2和Vue 3的响应式原理时,我们主要关注的是其数据双向绑定的机制。数据双向绑定是指当数据发生变化时,视图会自动更新;反之,当视图发生变化时,数据也会相应地更新。这种特性让我们在前端开发中更加…...
ssh连接服务器配置
平常每次都是 ssh root111.111.111.111 然后再输入密码 很事麻烦 总结 首先本地生成密钥和公钥 ssh-keygen -t rsa -C "XXX" ~/.ssh id_rsa.pub 将公钥加入远程服务器中的authorized_keys中 用户可以手动编辑该文件,把公钥粘贴进去,也可…...
el-table 表头设置渐变色
<el-table :data"tableData" stripe><el-table-column prop"name" label"测试" align"left"></el-table-column><el-table-column prop"code" label"测试1" align"left"></…...
GB/T 25000.51解读——软件产品的易用性怎么测?
GB/T 25000.51-2016《软件产品质量要求和测试细则》是申请软件检测CNAS认可一定会用到的一部国家标准。在前面的文章中,我们为大家整体介绍了GB/T 25000.51-2016《软件产品质量要求和测试细则》国家标准的结构和所涵盖的内容以及对软件产品的八大质量特性中的功能性…...
408复试day2(7大排序算法)
数据结构 7大排序算法总结: 首先排序分为内排序和外排序: 内排序是指待排序的记录放置在内存,而外排序是指排序的过程中需要对内存进行访问。其中稳定的排序有“插冒归”,即插入排序、冒泡排序、归并排序。 1.冒泡排序 算法原理&a…...
Vue消息订阅与发布
引入第三方库pubsub.js: npm i pubsub-js Student.vue import pubsub from pubsub-jsmethods:{sendStudentName(){// this.$bus.$emit(hello,this.name)pubsub.publish(hello,666)}}, School.vue import pubsub from pubsub-jsmounted() {// console.log("school&quo…...
MySQL学习笔记 ------ 分组查询
#进阶5:分组查询 /* 语法: select 分组函数,列(要求出现在group by的后面) from 表 【where 筛选条件】 group by 分组的列表 【order by 排序的字段】; 注意:查询列表必须特殊,要求是分组函…...
Matlab 点云平面特征提取
文章目录 一、简介二、实现代码2.1基于k个邻近点2.2基于邻近半径参考资料一、简介 点云中存在这各种各样的几何特征,这里基于每个点的邻域协方差来获取该点的所具有的基础几何特征(如下图所示),这样的做法虽然不能很好的提取出点云中的各个部分,但却是可以作为一种数据预处…...
vite的介绍
Vite(法语意为 "快速的",发音 /vit/,发音同 "veet")是一种新型前端构建工具 优势 💡 极速的服务启动,使用原生 ESM 文件,无需打包 ⚡️ 轻量快速的热重载,始终极快的模块…...
裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!
流量一跌再跌,Stack Overflow 简直被狠狠地上了一课! 3 月份 Stack Overflow 的流量下降了近 14%。该公司的 CEO 压力空前,甚至昨天决定裁员 10%! 平均每月下降6%,上月直接跌了近14% 开发人员越来越多地从 AI 聊天机器…...
Qwen-Image-2512部署教程:阿里云/腾讯云轻量服务器512MB内存精简部署方案
Qwen-Image-2512部署教程:阿里云/腾讯云轻量服务器512MB内存精简部署方案 1. 前言:像素艺术生成新选择 你是否遇到过这样的困扰:想要创作独特的像素风格作品,却苦于没有专业的美术功底?或者需要为游戏开发快速生成大…...
【大模型学习】常见AI工作流框架组合
常见AI工作流框架组合**一、框架组合全景图****二、各组合深度分析****1. LangChain LangGraph(大模型工程师首选)****技术架构****实现复杂度****优缺点****推荐场景****2. LlamaIndex Flowise(低代码RAG快速落地)****技术架构…...
OpenClaw故障排查:Qwen3-VL:30B飞书连接常见问题解决
OpenClaw故障排查:Qwen3-VL:30B飞书连接常见问题解决 1. 问题背景与排查准备 上周在星图平台部署Qwen3-VL:30B时,我遇到了OpenClaw与飞书连接的一系列"诡异"问题。从WebSocket莫名断开到模型响应超时,整个过程就像在解一个技术版…...
OpenClaw低配适配:nanobot在4GB内存设备运行技巧
OpenClaw低配适配:nanobot在4GB内存设备运行技巧 1. 为什么要在低配设备上运行OpenClaw? 去年夏天,我在整理一台2015年的老笔记本时突发奇想:这台只有4GB内存的"古董"能否跑得动OpenClaw?当时市面上大多数…...
三线OS突破20个月!科伦博泰TROP2 ADC在肺癌红海杀出重围
肺癌,历来是全球肿瘤研发领域产出最丰富、竞争也最残酷的“兵家必争之地”。 从开启靶向时代的EGFR-TKI,到重塑治疗格局的PD-(L)1免疫疗法,再到如今势头迅猛的双抗与ADC,各类技术路线持续涌入这一数百亿美元规模的治疗市场123。创…...
论文开题不再愁!书匠策AI带你玩转开题报告
在学术探索的征途中,每一位学子都渴望找到一把开启智慧之门的钥匙。对于即将踏上论文写作之旅的你来说,开题报告无疑是那把至关重要的钥匙。然而,面对复杂的选题、繁琐的内容填充以及格式要求,你是否常常感到无从下手?…...
新概念英语第一册083_Going on holiday
Lesson 83: Going on holiday Watch the story and answer the question Where did Sam go for his holiday this year? He stayed at home.Key words and expressions mess n. 杂乱,pack v. 包装,打包,装箱suitcase …...
Blender置换贴图终极指南:5步让3D模型瞬间拥有真实细节
Blender置换贴图终极指南:5步让3D模型瞬间拥有真实细节 【免费下载链接】awesome-blender 🪐 A curated list of awesome Blender addons, tools, tutorials; and 3D resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending/aw/aweso…...
Pixel Mind Decoder 嵌入式应用初探:STM32设备日志情绪分析
Pixel Mind Decoder 嵌入式应用初探:STM32设备日志情绪分析 1. 场景痛点与解决方案 在工业物联网领域,设备维护一直是个让人头疼的问题。想象一下,工厂里几十台STM32设备日夜运转,工程师们每天要盯着密密麻麻的日志数据…...
突破性数据增强:如何用Time-Series-Library解决时间序列稀疏性难题
突破性数据增强:如何用Time-Series-Library解决时间序列稀疏性难题 【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models. 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library 在时间序列分析领域&…...
