码迷,mamicode.com
首页 > 其他好文 > 详细

弦图小结

时间:2018-04-05 01:31:54      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:证明   div   click   子集   弦图   https   lin   ...   最小   

CDQ的论文

Click Here

以下纯属复制论文,避免以后再看一次

一些概念

子图

点集和边集都是原图的子集的图

诱导子图

是子图,不含其它边


团

子图,并且是完全图

极大团

不是任何一个团的子图

最大团

点数最多的团


最小染色

用最少的颜色染给每个点,使相邻点不同色

最大独立集

不相邻的最大点集

最小团覆盖

最少的团覆盖所有点

显然的结论

团数\(\le\)色数
最大独立集\(\le\)最小团覆盖


弦

连接环内两个不相邻的点的边

弦图

任意大于三的环都至少有一条弦

结论1

弦图的诱导子图是弦图

单纯点

设\(N(v)\)为\(v\)相邻的点集
\(v\)为单纯点当且仅当\({v}+N(v)\)的诱导子图为团

结论2

任何一个弦图至少一个单纯点
不是完全图的弦图至少两个

完美消除序列

每个点正好出现一次的序列\({v_1, v_2, ..., v_n}\)
满足\(v_i\)在\({v_i, v_{i+1}, ..., v_n}\)的诱导子图中为单纯点

结论3

一个无向图为弦图当且仅当它有一个完美消除序列

证明

略看论文

结论5

团数\(=\)色数
最大独立集\(=\)最小团覆盖

证明

略看论文


求解

求完美消除序列

不想学什么\(Lex BFS\)的方法,自己看论文

还是\(MCS\)最大势算法好:
按\(n...1\)的顺序给点标号
标号为\(i\)的点为完美消除序列的第\(i\)个
设\(label[i]\)表示与多少个已经标号的点相邻
每次找\(label\)最大的点标号
复杂度\(O(n+m)\)

判断一个序列是否为完美消除序列

设在\(v_i,v_{i+1}..v_n\)中,与\(v_i\)相邻的点依次为\(v_{j1}...v_{jk}\)
只需要判断\(v_{j1}\)是否与\(v_{j2}..v_{jk}\)相邻即可
复杂度\(O(n+m)\)

最少的颜色给所有点染色&团数

完美消除序列逆序,贪心
每次给一个点染色可以染的最小的颜色

最大独立集&最小团覆盖

完美消除序列中,贪心,能选就选

题目

[HNOI2008]神奇的国度
[TJOI2007]小朋友
[ZOJ1015]Fishing Net

弦图小结

标签:证明   div   click   子集   弦图   https   lin   ...   最小   

原文地址:https://www.cnblogs.com/cjoieryl/p/8719505.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!