
动态规划——位运算(状态压缩)
文章平均质量分 70
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 2411 状态压缩(矩形铺砖)
q原创 2014-07-08 20:17:43 · 754 阅读 · 0 评论 -
状态压缩dp
题意:来自hihoCoder(第八周)。小Hi和小Ho所处的车厢可以被抽象成连成一列的N个位置,按顺序分别编号为1..N,每个位置上都有且仅有一名乘客在休息。同时每个位置上都有一些垃圾需要被清理,其中第i个位置的垃圾数量为Wi。乘务员可以选择其中一些位置进行清理,但是值得注意的是,一旦有编号连续的M个位置中有超过Q个的位置都在这一次清理中被选中的话(即这M个位置上的乘客有至少Q+1个被惊醒了),就原创 2014-08-24 14:57:21 · 512 阅读 · 0 评论 -
poj 2923 dp状态压缩+背包(两辆货车来运货)
题意:有n(1=任何wi)。已知两辆货车同时运货同时回来,问最少多少趟能把n个货物运送完毕。思路:首先对n个货物测试哪些组合能够一趟运送完毕,通过状态压缩来做。结果存入s数组。之后进行背包,一个状态state其为1位表示选取对应货物。dp[state]表示运送state表示的货物组合所需要的最少运送趟数。细节见代码#include #include #define min(a,b) (原创 2014-11-27 20:37:26 · 667 阅读 · 0 评论 -
poj 1185 状态压缩dp(炮兵阵地)
题意:司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示)。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一个炮兵部队攻击到的区域:沿横向左右各两格,沿纵向上下各两格。炮兵的攻击范围不受地形的影响。 现在,将军们规划如何部署炮兵部队,在防止误伤的前提下(保证任何两支原创 2015-07-26 15:50:17 · 502 阅读 · 0 评论 -
poj 3254 状态压缩(种草)
题意:给出一个矩形,在1的格子中可以种草(也可以不种),在0的格子中不能种。要求草不能相邻存在,问给出的情况有多少种种草的方法原创 2014-07-10 20:25:30 · 477 阅读 · 0 评论