精确覆盖 DLX
2014-04-10 16:29
162 查看
问题描述:
给出全集S, 和n个S的子集C[0 to n-1], 找出 k(0 < k < n)个子集, 使能够覆盖S, 且每个元素只覆盖一次。
思路:
1. 暴力搜索: 找出2^k个子集组合, 判断是否满足条件。 优化: 回溯。
2. 另一种搜索:找出能够覆盖S中第1个元素的子集C[i],删除与C[i]有交集的子集, 删除S中C[i]能覆盖的元素得到S_new,
对S_new执行相同的操作, 如果没有成功则回溯选择另一个能够覆盖S中的第1个元素的子集C[j]. 直到S_new为空。
对于这种搜索用dancing links结构。
给出全集S, 和n个S的子集C[0 to n-1], 找出 k(0 < k < n)个子集, 使能够覆盖S, 且每个元素只覆盖一次。
思路:
1. 暴力搜索: 找出2^k个子集组合, 判断是否满足条件。 优化: 回溯。
2. 另一种搜索:找出能够覆盖S中第1个元素的子集C[i],删除与C[i]有交集的子集, 删除S中C[i]能覆盖的元素得到S_new,
对S_new执行相同的操作, 如果没有成功则回溯选择另一个能够覆盖S中的第1个元素的子集C[j]. 直到S_new为空。
对于这种搜索用dancing links结构。
相关文章推荐
- (模板)dlx 精确覆盖和重复覆盖
- 【POJ3740】Easy Finding DLX(Dancing Links)精确覆盖问题
- [DLX精确覆盖] hdu 3663 Power Stations
- 舞蹈链..Exact cover&Treasure Map等 . DLX-精确覆盖
- DLX精确覆盖 hdu4069 Squiggly Sudoku
- poj3074 Sudoku 转化为精确覆盖问题 DLX
- LA 2659 && poj 3076 && zoj 3122 Sudoku(精确覆盖 + DLX)
- DLX (精确区间覆盖,重复区间覆盖)(模板)
- DLX(精确覆盖) HDU 3663 Power Stations
- [DLX精确覆盖] hdu 3663 Power Stations
- dlx 精确覆盖
- zoj - 3209 - Treasure Map(精确覆盖DLX)
- DLX精确覆盖 poj2676 Sudoku
- POJ 3074 Sudoku DLX精确覆盖
- HDU 3957 Street Fighter(搜索、DLX、重复覆盖+精确覆盖)
- POJ 3740 Easy Finding(DLX精确覆盖裸题)
- ZOJ Treasure Map DLX 精确覆盖
- DLX算法求解精确覆盖问题
- POJ-3740-Easy Finding【DLX精确覆盖】
- hust 1017 Exact cover 精确覆盖 DLX 给定一个M*N的0-1矩阵,是否能选择一些行,使每一列只有一个’1’