ACM_Dancing_Links
文章平均质量分 80
Gatevin
这个作者很懒,什么都没留下…
展开
-
POJ 3074 Sudoku (DLX解经典数独)
题目大意:给出一个数独求解, 题目保证有唯一解要求每行每列每个九宫格都恰好包含数字1~9大致思路:学习DLX的简单练习构造矩阵的方法如下:一共324列刚开始没考虑到每个格子只能填一个数样例没过, 再加上81列表示每个格子的唯一性才通过样例...矩阵的构造方法见代码注释代码如下:Result : Accepted Memory :原创 2015-10-02 10:03:57 · 1260 阅读 · 0 评论 -
POJ 2676 Sudoku (DLX解数独)
题目大意:经典数独, 9*9每行每列每个九宫格都有1~9, 多解输出任意一解大致思路:没什么好说的数独了....和POJ 3074一样..代码如下:Result : Accepted Memory : 216 KB Time : 0 ms/* * Author: Gatevin * Created Time: 2015/原创 2015-10-02 10:50:58 · 666 阅读 · 0 评论 -
HUST 1017 Exact cover (Dancing Links 模板题)
题目大意:就是N*M的01矩阵, 初始有C(C 大致思路:跳舞链解决的矩阵精确覆盖问题, 模板题模板来自kuangbin大爷Orz代码如下:Result : Accepted Memory : 1916 KB Time : 164 ms/* * Author: Gatevin * Created Time: 2015/1原创 2015-10-01 23:00:59 · 592 阅读 · 0 评论 -
POJ 3076 Sudoku (DLX解数独)
题目大意:解一个16*16形式的数独要求每行每列每个16宫格都包含A~P大致思路:和POJ 3074一个道理...继续练手刚开始数组开小调了一段时间...代码如下:Result : Accepted Memory : 500 KB Time : 3391 ms/* * Author: Gatevin * Created原创 2015-10-02 10:36:20 · 1481 阅读 · 0 评论 -
HDU 2295 Radar (DLX求重复覆盖, A*搜索)
题目大意:就是在M个站中选择至多K个使得N个点被覆盖, 为需要的最小半径大致思路:二分答案R, 然后建立N*M的01矩阵判断重复覆盖是否可行重复覆盖和精确覆盖不同, 每次只会删掉每一列所有相关的1, 而不会将有相关1的行删去, 所以矩阵在减少的速度上没有精确覆盖快, 需要进行剪枝这里使用一个估价函数f(), 表示单签状况下最好情况需要多少步才能走完, 进行剪枝原创 2015-10-05 11:20:24 · 493 阅读 · 0 评论 -
SPOJ 1771 NQUEEN (DLX解n皇后问题)
题目大意:就是现在在一个n*n的棋盘上已经摆放了一些皇后, n 现在要求找到对应的一种方案使得棋盘上有n个皇后互不攻击大致思路:就是舞蹈链解决的一类问题....用列表示对应行, 列, 左斜线和右斜线分别对应的占用情况在Dance的时候注意走到N步停止, 每次消除代表着行或者列的那些列的1, 而不是优先考虑对角线因为对角线方向是不能刚好选出N个互补相交的, 那样搜会导原创 2015-10-04 19:54:18 · 1353 阅读 · 0 评论 -
ZOJ 3209 Treasure Map (DLX精确覆盖问题)
题目大意:给出一个n*m的矩形, n, m 大致思路:就是将n*m个小的1*1的正方形视作一个单位做精确覆盖问题就好了最坏情况下900列, 500行, 直接用DLX就可以代码如下:Result : Accepted Memory : 10828 KB Time : 70 ms/* * Author: Gatevin * C原创 2015-10-04 20:21:02 · 658 阅读 · 0 评论 -
FZU 1686 神龙的难题 (DLX求重复覆盖)
题目大意:就是现在给出一个n*m的01矩阵每次可以选择将一个n1*m1的矩形中的所有1变成0问将所有的1变成0需要使用n1*m1的矩形至少多少次大致思路:对于每一个位置作为列, 一共15*15列, 对于每一个可能选择的矩形都建立一行, 然后用Dancing Link做重复覆盖即可代码如下:Result : Accepted Memory :原创 2015-10-05 20:31:31 · 1097 阅读 · 0 评论