本来这个学期要好好切几个专题的题目的,可是各种杂事,都没做这个东西,真心无奈(参与组织校赛、邀请赛,丹麦项目、科研立项等等杂七杂八的事),以及真心地懒(这个就没理由了)。这周省赛了,这几天,好好看看前段时间做的题目,恢复性训练,以及总结。
基本概念
- 二分图
- 顶点可以分成两个不相交的集使得在同一个集内的顶点不相邻(没有共同边)的图。
- 最大匹配
- 这个没啥说的,就是两个集合中的元素两两配对,使配对的数量最多。
- 独立集
- 从所有点中,选出一些点,这些点两两之间都没有边相连。
- 最大独立集
- 所有独立集中,元素最多的那个。(不一定唯一)
- 最小点覆盖
- 选出一些点,使到所有的边至少都有一个端点在这个点集里面。
- 最少边覆盖
- 用最少边,使所有顶点都在选中的这些边上至少出现一次。
- 最少路径覆盖*
- 用最少的连通路径,走完所有的顶点。在一个DAG(有向无环图)中,建立一个与之对应的二分图:将原来的顶点拆成两个集合:v1,v2..vn和u1,u2..un。若原图中i和j是有边的,则在二分图中连上vi->ui。对于此二分图,求最大匹配,n减去则得到最小路径覆盖。(如果将这个i、j关系映射会原图,你会发现,就是让你在原图中找出最多匹配的i、j集合脸上边,而连边的限制恰恰是,i、j只能唯一相连,而没多连这样的关系,构成的子路径就会减少。初始的时候,最少的路径数是点数n,而没连一次,就少走一个路径,于是……)
- 补图
- 原来的图中,有边的变没边,没边的边有边。
- 最大团
- 集合中的某个子集,这个子集内部所有的顶点都互相相连,在所有这种集合中,顶点数最大的那个。




