Dancing Links DLX
Dancing Links DLX
Dancing Links 用来解精准覆盖问题。
精准覆盖问题有两种版本。
- 精准覆盖 : 给一个01矩阵,如何选出若干行,使得每列都有且仅有一个1. 可以求最少行数。
- 可重复覆盖 : 给一个01矩阵,如何选出若干行,使得每列都至少有一个1. 可以求最少行数。
其实就是一个递归的搜索,只不过利用双向十字链表能够高效的缓存矩阵,优化的搜索的常数。
算法本身没有什么变形,找出精准覆盖的模型往上套就行。
其他的看模板就好了
没了。
wsc500原创,转载请注明出处。请注明 出自http://www.cnblogs.com/loveidea/