点击打开链接
题意:在点的地方放炸弹,炸弹可以炸到的地方无限远并且是十字的形式,但是如果炸到#或者*则这个方向停下来,问最少需要多少炸弹同时引爆才可以将所有#炸掉
思路:一道模版舞蹈链了,对于建图我们将所有的#看做列,然后所有的点也就是放炸弹的地方看做行,然后找一下每个点可以炸的#就可以了,建图后跑个舞蹈链可重复的模版就可以了#include
#include
#include
#inc...
分类:
其他好文 时间:
2016-06-21 07:42:41
阅读次数:
151
点击打开链接
题意:每一行的某些列给定为1,现在问是否能找某些行,使得每一列的1出现一次
思路:与可重复覆盖的区别就是选定的列的1与其它行的又重复的,那么重复的那行也需要删除,而可重复的不需要删除,那么直接改一改之前的那个模版就可以求这道题了,而且需要输出所选行,任意一个就可以,那么在查找的时候直接赋给一个数组即可#include
#include
#include
#include
...
分类:
其他好文 时间:
2016-06-21 07:41:10
阅读次数:
172
点击打开链接
题意:给一个无向图,然后n个城市的供电范围,每个现在要求每一个城市的D天都可以有电,对于城市A发电,那么与它相邻的所有城市都会有电,但是问题是每个城市一天内只可以被供电一次,否则会坏掉,并且每个城市的供电天数有范围而且每个城市只能开启开关一次,之后不能在使用,也就是说城市A的供电时间必须是连续的,还有就是可以不用这个城市
思路:因为每个城市一天只能被供电一次,那么就是不可重复覆盖...
分类:
其他好文 时间:
2016-06-21 07:08:47
阅读次数:
215
题目链接:[kuangbin带你飞]专题三 Dancing Links D - 神龙的难题题意Description
这是个剑与魔法的世界.英雄和魔物同在,动荡和安定并存.但总的来说,库尔特王国是个安宁的国家,人民安居乐业,魔物也比较少.但是.总有一些魔物不时会进入城市附近,干扰人民的生活.就要有一些人出来守护居民们不被魔物侵害.魔法使艾米莉就是这样的一个人.她骑着她的坐骑,神龙米格拉一起消灭干...
分类:
其他好文 时间:
2016-02-22 06:48:39
阅读次数:
220
题目链接:[kuangbin带你飞]专题三 Dancing Links B - Treasure Map题意
给一矩形和k个小矩形,问选取最小数量为多少的小矩形可以对大矩形进行精确覆盖。
思路
仍然是个模版题,把二维的n*m的大矩形看作是一维的n*m的一条线。k个小矩形同理,那么就转化成01矩阵精确覆盖的问题了。
代码#include
#include <algorit...
分类:
其他好文 时间:
2016-02-21 20:01:43
阅读次数:
204
跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题转:http://www.cnblogs.com/grenet/p/3145800.html精确覆盖问题的定义:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1例如:如下的矩阵就包含了这样一个...
分类:
编程语言 时间:
2015-12-13 11:08:29
阅读次数:
284
第一个题目的意思是有n个城市和m个雷达。你最多可以用k个雷达,问使用最小多少的半径可以使k个雷达覆盖n个城市。
第二个是九野要从n个城市选择k个城市建造机场,问最小的最大城市距离是多少
都是舞蹈链+剪枝+二分计算路径
贴第二题代码
#include
#include
#include
#include
using namespace std;
const in...
分类:
其他好文 时间:
2015-07-15 22:55:53
阅读次数:
170
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 100000000
using namespace std;
#define maxn 10000
#define maxnode 270000
st...
分类:
其他好文 时间:
2015-05-22 09:50:00
阅读次数:
166
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 2096;
const int maxnode = 10000;
int wa[4] = {16,32,64,128};
int va[][2] = {{-1,0},{0,1},{1,...
分类:
其他好文 时间:
2015-05-21 09:11:17
阅读次数:
93
思路:这题挺好的,本来模板不是自己敲的嘛,理解了Dancing Links后是找了一个模板的,然后正好这题让自己加深理解了,也知道在实际中怎么建矩阵求解了。
把n*m的矩阵看成n*m个格子,像那个数独一样,作为n*m列;每一个矩形一行。
行列都建好矩阵后,就可以用舞蹈链求解了。
问题即转化为从这些行中选择最少的一部分使每一列被覆盖且仅覆盖一次。
#pragma comment(li...
分类:
其他好文 时间:
2014-08-29 21:25:42
阅读次数:
285