状态压缩
文章平均质量分 56
不吸血的Vampire
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 1185
状压的第一题:#include#include#include#include#include#include#include#include #include #include#includeusing namespace std;#define INF 1e8#define inf -0x3f3f3f3f#define eps 1e-8#define原创 2014-03-14 23:10:11 · 480 阅读 · 0 评论 -
poj 3254
题意:在N*M的草地上,1表示能放牛,0表示不能放牛,且牛不能相邻,问有多少种放法(一头牛不放也算一种)。。。#include#include#include#include#include#include#include#include #include #include#includeusing namespace std;#define INF 1原创 2014-03-15 11:41:38 · 495 阅读 · 0 评论 -
HDU 1074
题意:有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。这n门作业按课程的字典序先后输入问完成这n门作业至少要扣多少分,并输出扣分最少的做作业顺序PS:达到扣分最少的方案有多种,请输出字典序最小的那一组方案思路:对于状态压缩其实最难理解的是位运算,这里有几个技巧:1,判断i状态中是否已经完成了第j个作业原创 2014-03-15 23:12:38 · 536 阅读 · 0 评论 -
HDU 1400 && POJ 2411
题意:求用1*2的矩阵填满n*m的矩阵的方法有多少种;题解:状压DP,,,,1*2的矩阵要么橫着放,要么竖着放,把橫着放的矩阵标记为 1 1竖着放的矩阵标记为0 1 假如现在我们在铺砖 位置(i, j), 并且假设之前的位置已经铺设好的了,在这个位置,我们的选择:1. 不用铺砖了,可能在(i-1, j)的时刻已经被竖着铺上原创 2014-03-17 22:22:49 · 867 阅读 · 0 评论 -
位运算在状态压缩DP的运用技巧
位运算是既基础又好用的运算方法,它的实用性主要体现在状态压缩DP上,这也是状态压缩DP的难度所在,如果不了解位运算,状态压缩DP会觉得很难理解。。。接下来是位运算的实现技巧:如果要获得 n 的第 i 位的数据(0还是1),判断(n&(1如果要设置 n 的第 i 位为1,n=(n |(1如果要设置 n 的第 i 位为0,n=(n &(~原创 2014-03-17 20:46:37 · 1492 阅读 · 0 评论 -
HDU 4856 Tunnels (最短路+状压DP)
题意:给你N*N的网格,‘.’表示可以走,‘#’表示不能走,m条管道,每条管道有起点和终点坐标,Bob每次可以走到相邻的网格花费1s,问Bob走完m条管道要花多少时间;Bob在管道内不计算时间即计算Bob从管道 i 的出口走到管道 j 的入口的时间Dis(e[i],s[j])的最小和,起点可以任意;思路:看了题解说是状态压缩DP然后深入理解了下。首先原创 2014-07-08 21:22:13 · 787 阅读 · 0 评论 -
HDU 4539 郑厂长系列故事——排兵布阵 (状态压缩DP)
中文题,题意不再累赘。思路:对于第 i 行的放士兵,影响它的只有第 i-1 行和 i-2 行,所以暴力枚举符合这三行的状态 state[i],state[j],state[k]. 接下来就是二进制的巧妙应用了。具体题解看代码注释!!!#include#include#include#include#include#include#inc原创 2014-08-13 16:23:41 · 579 阅读 · 0 评论 -
HDU 3001 Travelling (三进制状态压缩 DP)
题意:有 n 个city,可以选择任一城市作为起点,每个城市不能访问超过2次,城市之间有权值,问访问全部n个城市需要的最小权值。思路:因为每个城市可以访问最多两次,所以用三进制表示访问的状态。详细见代码注释!!!!#include#include#include#include#include#include#includ原创 2014-08-13 22:50:10 · 737 阅读 · 0 评论
分享