可重复覆盖
DT2131
Rage, rage against the dying of the light.Do not go gentle into that good night.
展开
-
HDU 3498 whosyourdaddy (可重复覆盖舞蹈链)
题意: 给出N个点,M个边构成图。每选取一个点都可以覆盖其相邻点,问要覆盖所有点最少选几个点 思路: 每个点都作为一个点集,进行爆搜覆盖,舞蹈链模板题。 代码: #include using namespace std; const int maxn=60; int L[maxn*maxn],R[maxn*maxn],U[maxn*maxn],D[maxn*maxn]; int C原创 2016-12-20 11:58:15 · 458 阅读 · 0 评论 -
FZU 1686 神龙的难题(DLX可重复覆盖)
题意: 中文 思路: 数据只有15*15,可以将每一个魔物编号,再遍历得到火球落到每个点上会伤害的魔物序号,进行可重复覆盖,求得最小次数。 代码: #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned l原创 2016-12-20 12:17:15 · 310 阅读 · 0 评论 -
HDU 3529 Bomberman - Just Search!(DLX可重复覆盖)
题意: 模仿炸弹人游戏,本题中炸弹的威力无限(无阻碍时威力为一整列一整行),给出至大15*15的地图,问最少同时放置几个炸弹,可以将墙一下炸完。 思路: 对每个墙编号,遍历图求出把炸弹放在每个点可以炸的墙,然后舞蹈链可重复匹配 代码: #include using namespace std; typedef long long ll; typedef unsigned long lo原创 2016-12-20 12:24:21 · 262 阅读 · 0 评论 -
HDU 2295 Radar (DLX可重复覆盖+二分)
题意: 给出N个城市的坐标,M个雷达的坐标,求用少于K个雷达站覆盖所有城市的最小雷达半径(所有启用的雷达站的半径都一样) 思路: 二分枚举半径,每次枚举得到一组覆盖表,对这张表进行覆盖,看能不能用少于K个雷达覆盖所有城市。 若能向左(半径减小)继续二分,若不能向右(半径增大)继续二分。直到精度误差满足要求二分停止。 代码: #include #define mid (le+ri)原创 2016-12-20 12:37:57 · 441 阅读 · 0 评论 -
HDU 5046 Airport (DLX可重复覆盖+二分)
题意: 在N个城市选出K个城市,建飞机场(1 ≤ N ≤ 60,1 ≤ K ≤ N),N个城市给出坐标,选择这K个机场,使得从城市到距离自己最近的机场的 最大的距离 最小。 输出这个最小值。 思路: 我居然想歪,歪到想到了模式识别的K均值算法,简直瞎搞2333333.(虽说和DLX一样都是暴力) DLX可重复覆盖+二分距离制关系表即可 代码: kuangbin模板,注意爆原创 2017-07-25 20:11:37 · 342 阅读 · 0 评论