状态压缩dp小结

最近一段时间算是学了一些状态压缩的题目,在这里做个小结吧

首先是炮兵布阵类题目,这类题目一开始给定一个矩形,要求在上面放置炮兵,如果在一格放了炮兵那么周围的某些格子就不能放炮兵,求最大能放置炮兵的数量

poj1185炮兵布阵

hdu2176 炮兵布阵修改版

poj3254 炮兵布阵弱化版

poj1565 方格取数

然后是状态集合类的题目,这类题目给定一个集合的元素,要求重排列以达到最大化收益,即从已知状态推出未知状态,通常需要处理出元素之间的两两对应关系

zoj3471 模板

poj2817 在枚举集合的基础上升维

poj2241 朴素LIS算法,也是枚举两两之间的关系

poj2836 也是枚举两两关系,但是这题的矩形其实就是两个点之间的关系

轮廓线类题,其实类似炮兵布阵等题目都可以用轮廓线解,并且时间复杂度较优,但常见的应该还是铺地砖等题目

poj2411 模板题

其他题

poj2441 通过牛少的状态推出牛多的状态,利用滚动数组实现

hdu4064 三进制的状态压缩,但是实质上有点类似于炮兵布阵类题目,通过上下两行状态的配对求出答案,但是本题的状态需要通过dfs搜出,并不是枚举状态

猜你喜欢

转载自www.cnblogs.com/zsben991126/p/10372409.html
今日推荐