舞蹈链
Dan__ge
Today is difficult,tomorrow is more difficult,but the day after is beautiful.
展开
-
POJ 3074&&3076 舞蹈链
点击打开链接 题意:完成数独 思路:直接用舞蹈链的不可重复覆盖直接就可以过了,建图时列为81+81+81+81,第一个为81个空都要有元素,然后第二个是9行,有9个数要添,第三个就是9列有9个元素要添,最后一个是9块有9个元素要添,然后建完模版OK#include #include #include #include #include #include using namespac原创 2016-06-25 15:35:22 · 2114 阅读 · 0 评论 -
HDU 2828 舞蹈链可重复覆盖
点击打开链接 题意:给n个灯,每个灯能保持亮的状态的条件给出,最后问能否将所有的灯都保持亮的状态,能的话输出每个开关的状态 思路:明显的舞蹈链可重复覆盖嘛,列为n个灯,然后行为每个开关开还是关,所以行要有2*m行,注意的是在跑舞蹈链的时候,每一个开关只能有开或关的状态,所以我们要判断一下它对应的状态是否走过#include #include #include #include #inc原创 2016-07-14 19:30:11 · 1595 阅读 · 0 评论 -
HDU 3498 舞蹈链精确覆盖
点击打开链接 题意:n个敌人,和m个敌人之间的关系,u与v是朋友,当攻击敌人I时,他的朋友也可以被打死,问最少攻击几次可以将所有的敌人消灭 思路:比较裸的一道舞蹈链题目,今天也看了看算法的思想,比较好理解,但是自己写代码的话还是不可能的(毕竟太弱~~~),然后在网上找了几个模版,调了一个自己喜欢的照着谢了这个模版题,决定今天就刷舞蹈链了,舞蹈链精确覆盖推荐这篇博客,大神写的真是详细,懂了思想找原创 2016-06-17 16:48:58 · 1240 阅读 · 0 评论 -
HUST 1017 舞蹈链之不可重复覆盖
点击打开链接 题意:每一行的某些列给定为1,现在问是否能找某些行,使得每一列的1出现一次 思路:与可重复覆盖的区别就是选定的列的1与其它行的又重复的,那么重复的那行也需要删除,而可重复的不需要删除,那么直接改一改之前的那个模版就可以求这道题了,而且需要输出所选行,任意一个就可以,那么在查找的时候直接赋给一个数组即可#include #include #include #include原创 2016-06-17 18:30:56 · 2549 阅读 · 0 评论 -
FZU 1686 舞蹈链之可重复覆盖
点击打开链接 题意:中文题了 思路:做了几个舞蹈链的题目了,第一感觉总会想到去用网络流去写,哎YY一会就是错的,乖乖用舞蹈链来写把,对于这道题目我们可以将所有的1看成是列,然后行则是一个一个的小矩阵,每一行也就是小矩阵连接自己可以消灭的1,但是首先要给所有的1编一下号,再然后就是模版舞蹈链了#include #include #include #include #include #i原创 2016-06-17 19:14:55 · 2278 阅读 · 0 评论 -
HDU 3529 舞蹈链之可重复覆盖
点击打开链接 题意:在点的地方放炸弹,炸弹可以炸到的地方无限远并且是十字的形式,但是如果炸到#或者*则这个方向停下来,问最少需要多少炸弹同时引爆才可以将所有#炸掉 思路:一道模版舞蹈链了,对于建图我们将所有的#看做列,然后所有的点也就是放炸弹的地方看做行,然后找一下每个点可以炸的#就可以了,建图后跑个舞蹈链可重复的模版就可以了#include #include #include #inc原创 2016-06-17 20:15:26 · 2337 阅读 · 0 评论 -
HDU 3663 舞蹈链之不可重复覆盖
点击打开链接 题意:给一个无向图,然后n个城市的供电范围,每个现在要求每一个城市的D天都可以有电,对于城市A发电,那么与它相邻的所有城市都会有电,但是问题是每个城市一天内只可以被供电一次,否则会坏掉,并且每个城市的供电天数有范围而且每个城市只能开启开关一次,之后不能在使用,也就是说城市A的供电时间必须是连续的,还有就是可以不用这个城市 思路:因为每个城市一天只能被供电一次,那么就是不可重复覆盖原创 2016-06-19 19:34:09 · 1952 阅读 · 0 评论 -
HDU 2295 舞蹈链可重复覆盖+二分
点击打开链接 题意:给了n个点和m个圆心,在用不多于k个圆的情况下,使得所有的点被覆盖,最小的圆半径多大 思路:问最小的什么什么那么用二分准没错,那么二分条件是什么呢,就是用不多于K的圆能否将所有点覆盖,覆盖这部分就是裸的舞蹈链的可重复覆盖,行为m个圆,列为n个点,然后求出的最少行小于等于K,则成立,否则不成立#include #include #include #include #i原创 2016-06-21 13:45:20 · 2170 阅读 · 0 评论 -
HDU 4735 舞蹈链可重复覆盖
点击打开链接 题意:给一个树和边权,然后树上的每个节点都有一个男孩或女孩,若有一个男孩的位置与一个女孩的位置的距离小于等于D,则这个女孩安全,现在可以换任意两个节点的人,问最少换多少次所有女孩都安全 思路:我们需要处理的就是每个节点如果是男孩他可以保护的所有的女孩,然后建舞蹈链的模版,最后当找到一组可行解时,比较其中节点是女孩的最少的那组解就是答案,而程序中还可以用这个值来减枝,强大!!!#i原创 2016-09-13 16:30:10 · 781 阅读 · 0 评论