舞蹈链重复覆盖问题
题目
http://acm.fzu.edu.cn/problem.php?pid=1686
题意
中文题,又可以偷懒了!
题目解析
计算出地图上所有怪物的个数,假设为$K$个,给怪物从1到K进行编号。然后枚举每一种神龙攻击的情况,也就是枚举神龙攻击范围的左上角坐标,行坐标一共有$n-n1+1$种情况,列坐标一共有$m-m1+1$种情况,所以一共有$(n-n1+1) \times (m-m1+1)$种攻击情况,假设为$P=(n-n1+1) \times (m-m1+1)$。然后构建一个$P \times K$的矩阵$M$,然后第$i$种攻击情况能攻击到第$j$个怪物,则$M$的第$i$行的第$j$个元素为$1$,否则为$0$。最后用舞蹈链对$M$求重复覆盖问题就好了。
代码
1 | /* http://acm.fzu.edu.cn/problem.php?pid=1686 */ |