学习资料: http://www.cnblogs.com/grenet/p/3145800.htmlhttp://blog.csdn.net/mu399/article/details/76278622份模版 第一份精确覆盖 from POJ 3074const int N = 9;const in...
分类:
其他好文 时间:
2015-10-06 23:38:58
阅读次数:
257
1.题目描述:点击打开链接
2.解题思路:本题利用DLX算法解决。巧妙之处其实在于转化过程。DLX算法解决的是精确覆盖问题,那么如何把一个数独问题转化为精确覆盖问题呢?我们可以发现,精确覆盖问题其实是选择一些行,要求最终可以恰好覆盖所有列。即行代表着可用的决策,列代表着一项任务,“1”表示该行可以完成的任务。我们试图来套用这一框架。
首先,每个决策可以用一个三元组(r,c,v)表示,即...
分类:
其他好文 时间:
2015-08-12 11:33:58
阅读次数:
139
题意:解数独分析:完整的数独有四个充要条件:1.每个格子都有填数字2.每列都有1~9中的每个数字3.每行都有1~9中的每个数字4.每个9宫格都有1~9中的每个数字可以转化成精确覆盖问题。每行表示一个格子的一种填法,1~81列表示这个格子的位置,82~162列表示这是哪一行的什么数字,163~243列...
分类:
其他好文 时间:
2015-07-29 12:06:33
阅读次数:
124
题意:
首先给你N块板(2*1或1*2)的,数字以及位置
再给你9个单个的板,1~9,分别的位置
然后问你如何放其他板(1*2或2*1)使得成为数独
注意的是对于板子来说,含有的数字是唯一的
也就是含有数字1和2的板有且只有1块
思路:
感觉自己太挫的,写了超级麻烦的建图
列是5*9*9的
前面的4*9*9就和普通的数独一样
后面的9*9是代表放的板的数字 就是对于(i,j)这...
分类:
其他好文 时间:
2015-07-22 19:03:14
阅读次数:
206
题意:
给你n块碎片,这些碎片不能旋转、翻折。
问你能不能用其中的某些块拼出4*4的正方形。
思路:
精确覆盖裸题了
建图就是看看每个碎片在4*4中能放哪些位置,这个就作为行。
列就是4*4=16个位置再加上n个碎片也就是16+n
然后注意下成立的判定就好了
代码:
#include"stdio.h"
#include"algorithm"
#include"string.h"
...
分类:
其他好文 时间:
2015-07-22 14:39:17
阅读次数:
120
题意:
给你n、m、d,代表有n个城市,m条城市之间的关系,每个城市要在日后d天内都有电。
对于每个城市,都有一个发电站,每个发电站可以在[a,b]的每一个连续子区间内发电。
x城市发电了,他相邻的城市也有电,并且每个发电站只能启动一次,或者不启动。
现在问,如何安排发电站的启动,保证每个城市d天都有电。
输出发电方案,不发电的话输出0 0
思路:
一个简单的精确覆盖问题,就是建图比...
分类:
其他好文 时间:
2015-07-22 10:48:09
阅读次数:
90
最基础的dancinglinks的精确覆盖题目 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define N 1005 8 #define MAXN 1000100 9 ...
分类:
其他好文 时间:
2015-05-15 01:13:55
阅读次数:
134
题意 :给定数独的某些初始值,规定每个格子的得分,求得分最大的数独的解。思路:这是某年的noip的原题,高中时就写过,位运算也就是那个时候学会的--。这题明显是暴搜,但是需要注意两点,一是需要加一些常数优化,也就是位运算,一个是剪枝,填完某个数后发现某个格子无解了则换个数填,并且那些可填的数的种数少...
分类:
其他好文 时间:
2015-05-05 06:30:46
阅读次数:
256
分析:
dlx是从数据结构角度优化01矩阵精确覆盖和重复覆盖的数据结构,它用十字链表只存贮矩阵中的非0元,而01矩阵精确覆盖dfs过程中矩阵会越来越稀疏而且每次恢复现场会浪费大量时间,dlx恰好能解决这两个问题。本题关键是将数独问题转化为01矩阵精确覆盖。数独转化为精确覆盖问题的方法还是参照Knuth的论文,如果读取到一个格子是空的,那么加9行,分别表示这个格子填1到9这9个数字,如果读取到的格...
分类:
其他好文 时间:
2015-04-27 16:57:30
阅读次数:
264
Description There is an N*M matrix with only 0s and 1s, (1 #includeusing namespace std;// N 行 M 列 。 。 。const int INF=10e8;const int MaxN=1010;const...
分类:
其他好文 时间:
2015-01-31 14:26:16
阅读次数:
188