中文题 题意不再赘述对于中间这个“P” 根据dp的无后效性 我们只需考虑前面的就变成了 只需考虑:也就是状压前两行具体与HDOJ的4539类似: 看HDOJ 4539仅仅是共存状态的判断不同 1 //#include 2 #include 3 #include 4 #include 5 #i...
分类:
其他好文 时间:
2015-03-15 10:51:18
阅读次数:
229
题目连接:http://poj.org/problem?id=1185题意:给出一张n*m的地图,'H'表示高地,不能部署炮兵,'P'表示平原,可以部署炮兵,炮兵之间必须保持横向、纵向至少2个格子的距离,保证没有误伤。问最多可以部署多少炮兵。分析:对于每行大炮的状态仅与上两行的状态有关,因此要开个三...
分类:
其他好文 时间:
2015-02-03 18:45:01
阅读次数:
236
经典的状态压缩dp,有几个点要注意
1)必须用三维的状态才能合理的进行状态的转移,用二维的状态约束性不够
2)初始化是必须要同时初始化前两行的所有状态
3)注意位运算的使用。
代码如下:
#include
#include
#include
using namespace std;
int total[1000],cur[110];
int dp[110][200][2...
分类:
其他好文 时间:
2015-01-30 15:54:09
阅读次数:
148
炮兵阵地
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 17272
Accepted: 6593
Description
司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表...
分类:
其他好文 时间:
2014-11-04 19:51:00
阅读次数:
253
也算是比较基础的状压dp了,跟做过的第二道比较又稍微复杂了一点需要记录之前两行的状态。。统计结果也稍有不同另外还学习了一个得到一个整数二进制位 1 的个数的位运算方法详见代码:#include #include #include#include#include#includeusing namesp...
分类:
其他好文 时间:
2014-10-10 22:47:26
阅读次数:
175
B -炮兵阵地Time Limit:2000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64uSubmitStatusAppoint description:Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M...
分类:
其他好文 时间:
2014-08-30 11:08:19
阅读次数:
576
好吧,借助poj1185炮兵布阵这题,仔仔细细的了解了一下状态压缩动态规划。那么这里详细了解什么是状态压缩,如何状态压缩,状态压缩的操作。。。以及详细的解题报告。希望自己后面了解的时候能一目了然,对刚入门的人有帮助是最好不过滴...
分类:
其他好文 时间:
2014-08-18 20:33:32
阅读次数:
292
好吧,借助poj1185炮兵布阵这题,仔仔细细的了解了一下状态压缩动态规划。那么这里详细了解什么是状态压缩,如何状态压缩,状态压缩的操作。。。以及详细的解题报告。希望自己后面了解的时候能一目了然,对刚入门的人有帮助是最好不过滴...
分类:
其他好文 时间:
2014-08-15 00:07:17
阅读次数:
225
压前两行的状态很容易想到,但是 直接搞 (1(1#include #include #include #include #include #include #include #include #include #include #include #include using namespace .....
分类:
其他好文 时间:
2014-08-13 14:23:46
阅读次数:
140
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 100 + 1; //阵地行数
const int MAXM = 10 + 1; //阵地列数
const int State_Num = 60 + 1; //阵地列状态...
分类:
其他好文 时间:
2014-08-05 11:20:39
阅读次数:
167