【题目】:Blue and Red
【类型】:图论
【难度】:中等
【来源】:pku3715
【关键字】:最小点覆盖集
【题目大意】:有两个阵营,给出N个士兵所属阵营和士兵之间的朋友关系。问最少除去多少个士兵,可以使得两方中的任意两个(每方选一个)都不是朋友。如果有多种答案,依次输出字典序小的答案。
-----------------------------------------------------------------------------------------------------------------------------------------
【自己的分析】:先用匈牙利算出最小点覆盖数,接下来对所有最大匹配边扫描一次,选边的两端中较小的点。这个算法明显是错的。
【正确的算法分析】:其实有个算法可以求出最小点覆盖集,利用了konig定理,详见【其他】。算法看不懂,于是网上找了篇大牛的代码抄了一份。带入数据过了一遍,还是不懂其原理,自己数学修养太低了。
【数据结构】:
【其他优化】:
【时间复杂度】:
【学到了什么知识经验】:求最小点覆盖集
【同类型题目】:
-----------------------------------------------------------------------------------------------------------------------------------------
【其他】:
http://acm.pku.edu.cn/JudgeOnline/problem?id=3715
http://www.matrix67.com/blog/archives/116
http://scrooke.spaces.live.com/blog/cns!10081586F20AA5EE!209.entry
-----------------------------------------------------------------------------------------------------------------------------------------
【代码】: