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

三分稀疏图染色的多项式时间证明

简介

三分图染色指对于一个图进行三种颜色的染色,每条边的两个端点颜色不同
本文旨解决 m-n$\le$7的染色问题,即边数只比点数多7

做法

考虑对于每个度数$\ge$3的结点作暴力dfs染色,
image
代码差不多就是这样的
即能染颜色1就染颜色1,能染颜色2就染颜色2,能染颜色3就染颜色3.

出发点的选择

发现当一个结点染色失败时需要至少三条边与其相连,而如果图上只有一个度数大于等于三的点,
直接从这个点出发一定可以直接暴力染完所有度数为1,2的点
考虑分析有两个度数为三的点要相互染色失败

染色

考虑当一个度数为三的节点暴力染色失败后的样子:
image
最上方的点无法染色,因为下方的三个点已经被被迫染上了三种颜色,
下方的结点一定染色成1,2,3,那么再下方的结点一定会把1,2的位置填满
由于bfs暴力染色所以考虑先访问该点下方1,2,3,最后访问无法染色的结点,所以需要返祖边
image
中间的绿色为本来连通图的链接边
由于要返祖,所以向下后需要退回到另一条链上,上下的u,v有四条关键边,所以上下分别需要6条返祖边
6条返祖边会出现12个度数为三的点,加上原来要形成
image
结构需要两个三度点
所以形成一对互相染色失败的点共需要2+2+12个三度点,16个三度点在m-n=7时存在一个,当m-n=7时最多16个三度点
但是不是所有的三度点都会失败,因为共有16个
所以直接把所有度数为三的点暴力向下染色,当有正确答案时一定可以找到正确的答案

http://www.jsqmd.com/news/44880/

相关文章:

  • 251119
  • 实用指南:分布式架构未来趋势:从云原生到智能边缘的演进之路
  • 人工智能之编程进阶 Python高级:第七章 数据库类模块
  • linux for 跳出循环
  • 用USB BLASTER II 下载sof文件没有问题,debug波形也没有问题。但是下载jic问题异常?
  • Linux用户管理相关知识
  • AI浪潮下的机遇与挑战:从巨头动态看未来趋势
  • CCF GESP 五级真题考频与知识点速查表
  • 推迟win11更新137年的方法
  • linux for 死循环
  • 注册表禁用/启用Windows系统更新
  • Linux for OneNote
  • linux for in seq
  • 高级程序语言设计第6次
  • 深入解析:Flink 实验性特性把“已预分区”的 DataStream 重新解释为 KeyedStream
  • 用最纯粹的白话,解析 AI Memory
  • 2025苏州代理记账口碑榜:3 家靠谱机构/公司出圈,财税服务选对不踩坑!
  • 完整教程:电脑控制DFPlayer Mini MP3播放音乐
  • 2025-11-19 早报新闻
  • 2025密炼机厂家实力榜:大连华韩领衔 四大品牌凭技术与口碑领跑橡塑机械行业
  • 2025矿物铸件厂家推荐排行榜:头部企业实力领跑,四星厂商凭细分优势站稳脚跟
  • 2025有限元分析/计算/测试服务商口碑榜:长春六耳科技领跑,技术深耕者成行业标杆
  • 详细介绍:Micro框架API文档离线访问:生成静态HTML文件
  • Python 中 pymysql 操作 MySQL 数据库实操指南
  • qml021-调试qml-无法连接到进程内(in-process)QML调试器
  • 如何优雅地看着电脑为你打工? - Magic
  • 告别内网限制!用StirlingPDF+cpolar打造可远程访问的PDF程序站
  • 在 RTE2025 大会,我看到了 AI 语音如何让机器学会「与人相处」丨社区来稿
  • 用localStorage 模拟SharedWorker
  • 【C++】哈希表的搭建【开放定址法vs链地址法】