题目链接http://poj.org/problem?id=1185炮兵阵地Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 20591 Accepted: 7973Description司令部的将军们打算在N*M的网格地图上部署他....
分类:
其他好文 时间:
2015-03-19 20:10:39
阅读次数:
168
中文题 题意不再赘述对于中间这个“P” 根据dp的无后效性 我们只需考虑前面的就变成了 只需考虑:也就是状压前两行具体与HDOJ的4539类似: 看HDOJ 4539仅仅是共存状态的判断不同 1 //#include 2 #include 3 #include 4 #include 5 #i...
分类:
其他好文 时间:
2015-03-15 10:51:18
阅读次数:
229
经典的状态压缩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
/*
曼哈顿距离的定义是:两个点的坐标为(x1,y1),(x2,y2),两点的曼哈顿距离为|x1-x2|+|y1-y2|
题意:题上要求是两个士兵的距离不能是曼哈顿距离为2,意思就是这个点在同一行同一列不能相间,这个点的左上,左下,右上,右下角不能有
士兵.
思路:dp+状态压缩dp[i][j][k]定义的状态为i是当前行,j为当前行的状态,k为上一行的状态类似炮兵阵地
*/#inclu...
分类:
其他好文 时间:
2015-01-24 10:15:38
阅读次数:
150
/*
dp+状态压缩和炮兵阵地类似
*/#include
#include
#define Max(a,b) a>b?a:b
int dp[25][20000],s[20000],len,Map[25][25],n;
int check(int m)
{
if(m&(m<<1))
return 0;
return 1;
}
void Inint()
{
...
分类:
其他好文 时间:
2015-01-22 09:30:21
阅读次数:
188
炮兵阵地
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 20169
Accepted: 7805
Description
司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也...
分类:
其他好文 时间:
2015-01-10 21:08:17
阅读次数:
387
题目地址:POJ 1185
这题的一个判断条件写错了。。导致错了好多遍。。sad。。
这题跟3254差不多。
可以发现,对于每一行放大炮的状态,只与它上面一行和上上一行的状态有关,每一行用状态压缩的表示方法,0表示不放大炮,1表示放大炮,同样的,先要满足硬件条件,即有的地方不能放大炮,然后就是每一行中不能有两个1的距离小于2(保证横着不互相攻击),这些要预先处理一下。然后就是状态表示和转移的...
分类:
其他好文 时间:
2015-01-10 15:14:46
阅读次数:
181
题目链接:点击打开链接
题意 :中文。。就不啰嗦了 大致就是n*m的格子上放置炮兵,相邻两格不能放,求最大放置个数。
思路:就是典型的状压啦,dp[i][j][k] 代表当前行状态为s[j],前一行状态状态为 s[k] 时的最大放置个数。状态转移方程可为
dp[i][j][k] =max(dp[i][j][k],dp[i-1][k][p]+sum[j]) (枚举上上行的状态p sum[j]...
分类:
其他好文 时间:
2014-12-03 21:29:00
阅读次数:
177
解题思路:
简单的状压DP,1表示放炮,预处理出每一行所有两个1间隔不小于2的状态,每一行的状态只和上面两行有关,因此可以枚举这三行的状态,用DP[i][j][k]表示第i行状态为k,第i-1行状态为j的数目,转移方程为dp[i][j][k] = max(dp[i][j][k], dp[i-1][l][j] +count(k));
#include
#include
#includ...
分类:
其他好文 时间:
2014-11-21 20:34:47
阅读次数:
248
炮兵阵地Time Limit:2000MSMemory Limit:65536KTotal Submissions:19922Accepted:7709Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表...
分类:
其他好文 时间:
2014-11-15 12:46:46
阅读次数:
149