最大独立集个数模板 + 最大团计数模板
并没有看懂求最大团个数的算法原理???,已知看到最好的解释最大团blog
最大团计数模板
R集合是 最大团已经加入的点P集合是 可能加入的点,且与R集合所有的点存在边(????)- 还是不太明白
X集合的作用
1 | |
但是做到一个 最大独立集POJ 1419的时候
- 用到了结论: 最大独立集 = 补图的最大团
- 于是我在此题转化成补图 套用 上面的 最大团模板 过了???
1 | |
看到一遍优质Blog DFS直接求 最大独立集
- 邻接表存图,但是该
dfs函数并不是通过边去搜,而是 (类似遍历,但是是递归) 去访问下一个点(无论有无边),通过邻接表能够访问与该点连接的所有边 cur表示节点编号,cur>n遍历完所有的点all[i]数组标记点i为黑色,num表示当前dfs进行中黑色点的个数if(flag):表示周围的点都不是黑色点时- 精华:
num + n-cur > ans.当flag==0或者flag==1dfs回溯回来时进行判断.num < ans但是剩下的未访问的点数n - cur大于ans - num即n-cur > ans-num,所以dfs仍有机会更新ansnum > ans,黑色点数已经超过ans,剩下的点可以继续更新ans
1 | |
最大独立集个数模板 + 最大团计数模板
https://blog.989883.xyz/2019/10/04/csdn/最大独立集个数模板 + 最大团计数模板/