poj3076 Sudoku DLX
摘要:Sudoku同样是一道dancing links,和poj3074同样是数独问题,只要稍稍改下就能过,我上篇文章里用的是矩阵存储方式,套到这里居然MLE了,只好重新处理,处理过程还是比较麻烦的,终于搞定了,呵呵。这里我给模板化了,能够很容易的处理数独这一类问题代码
阅读全文
posted @
2010-10-06 20:24
ylfdrib
阅读(944)
推荐(0)
poj3074 Sudoku 转化为精确覆盖问题 DLX
摘要:Sudoku终于搞定了,开敲以前,我还在位建图而发愁呢,呵呵DLX的经典应用:解决数独问题momodi的论文写的真是不错建图方式(就是01矩阵)如下行:一共9 * 9 * 9 == 729行。一共9 * 9小格,每一格有9种可能性(1 - 9),每一种可能都对应着一行。列:一共(9 + 9 + 9) * 9 + 81 == 324 种前面三个9分别代表着9行9列和9小块,乘以9的意思是9种可能(1...
阅读全文
posted @
2010-10-06 10:37
ylfdrib
阅读(1817)
推荐(0)
hdu2295 Radar DLX解决重复覆盖问题
摘要:Radar题意:有N个城市,M个雷达站,K个操作员,从M个雷达站中选择K个,来覆盖所有的N城市,每个雷达有相同的覆盖半径,问:最小的覆盖半径是多少一看题意,就知道是个最小支配集问题,最小支配集属于NP难题,找不到多项式解法,所有只能搜索,但是普通的搜索是过不了的,鉴于这种类型的题,可以用一种的特殊的结构--双向链表,于是就可以用DLX来优化这个搜索,而且这题还需要剪枝,据说是A*,表示不懂,找到模...
阅读全文
posted @
2010-10-03 21:06
ylfdrib
阅读(1476)
推荐(0)
hust1017 Exact cover dancing links 美丽的舞蹈
摘要:Exact cover刚看了DLX,找到hust1017练了一下为什么叫dancing links呢,据说是因为算法的创造者knuth感觉这个算法太妙了,不尽让人想起美丽的舞蹈,于是就有了这个名字。的确,DLX对搜索的优化让人叹为观止,缩小稀疏图,减小搜索范围,同时能很快的恢复图的构建,非常妙!momodi 的论文《Dancing Links 在搜索中的应用》 还有原著的英文论文,看看很不错跳舞链...
阅读全文
posted @
2010-09-28 21:18
ylfdrib
阅读(883)
推荐(0)
pku3411 Paid Roads 搜索 + 剪枝
摘要:Paid Roads题很简单,但是需要些剪枝技巧,我的做法是,先不管Pi,直接用dijkstra,求得1到N的最短距离,作为搜索上界或次优解,再用深搜,对边搜索,求得最优解,刚开始没有求上界的时候TLE,加了以后0ms AC。看来剪枝很重要。代码
阅读全文
posted @
2010-09-06 21:43
ylfdrib
阅读(324)
推荐(0)
hdu1515 hdu1401 搜索
摘要:hdu1515Anagrams by Stack深搜能过,想好搜索技巧,很容易过。题意:给你两个字符串,问:第一个字符串按入栈出栈规则,能否达到第二个字符串,输出所有的方法,i表示入栈,o表示出栈。用dfs模拟第一个字符串入栈出栈过程:1. 当前字符入栈,就向下一层递归,即搜向下一个字符2. 栈顶元素出栈,对新的栈顶元素判断这题要求按字典序输出,这种先判断入,再判断出的方法正好符合。代码hdu14...
阅读全文
posted @
2010-08-02 20:41
ylfdrib
阅读(975)
推荐(1)
pku1011 深搜+强剪枝
摘要:题目链接:Sticks分析:这题卡了我好久!!这题大意是有几根相同长度的棒子,现在被分成了n段,想知道他原来没跟棒子最短的长度是多少。由现在n段中最长的棒子长度max,到所有棒子的总长度sum枚举即可。不过这题的剪枝很强,一般的剪枝都会超时,我不知道TLE了多少次,discuss里有组很BT的数据,就算拿我现在0msAC的代码跑,也需要将近3—4ms才能搞定,看来pku数据还是蛮弱的,...
阅读全文
posted @
2010-07-13 10:01
ylfdrib
阅读(627)
推荐(0)
hdu3427 字符串处理
摘要:题目链接:Clickomania题目大意:Clickomannia是一款游戏,游戏规则是每次可以消除连续的同色方块,每次消除又会有新的连结,用字符串表示,问你能不能将整个字符串消除完。算法分析:一道字符串题。我用dfs()过的。可以先将字符串缩减一下,将字符串中连续的部分用一个字符加一个数字来表示,用两个数组保存,加快扫描速度,从前往后扫描,每一个当前字符要么自成一串,构成合法序列,然后判断剩余字...
阅读全文
posted @
2010-07-11 12:19
ylfdrib
阅读(945)
推荐(1)