摘要: Dancing Links是使用双向循环十字链表的数据结构通过dfs来实现解决精确覆盖问题的强有力的武器。 而数独问题可以转化为精确覆盖问题。 通过将每个限制转化为列。每个决策转化为行。 建模型:行数为9*9*9,数独中,第i行j列放数字k的状态存储在图中第(i*9+j)*9+k行中列数为9*9+9 阅读全文
posted @ 2017-04-14 15:46 free-loop 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 首先可以对n个目标串单独进行处理。 对于每个目标串,考虑把模式串按'*'进行划分为cnt段。首尾两段一定得于原串进行匹配。剩下的cnt-2段尽量与最靠左的起点进行匹配。 对于剩下的cnt-2段。每段又可以通过‘?’划分为k个子串。对每个子串求出hash值。然后通过枚举起点与目标串的某个区间的hash 阅读全文
posted @ 2017-04-14 14:22 free-loop 阅读(410) 评论(0) 推荐(0) 编辑