压前两行的状态很容易想到,但是 直接搞 (1(1#include #include #include #include #include #include #include #include #include #include #include #include using namespace .....
分类:
其他好文 时间:
2014-08-13 14:23:46
阅读次数:
140
一开始能想到的状态就只有位压两行和当前行的行号,这样无论是空间和时间都是无法接受的。但是因为炮兵的攻击范围比较大,而且又有地形限制,每一行的状态其实不多了,打表看了一下不超过80种,离散化一下就可以随意DP了。据说题目也可以抽象成二分图最大匹配来搞?感觉复杂度有点高#include #include...
分类:
其他好文 时间:
2014-08-12 16:57:34
阅读次数:
335
http://poj.org/problem?id=1185经典题目不必多说,直接贴代码。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int n, m, cnt, size; 7 int a[110], st[70], ....
分类:
其他好文 时间:
2014-08-08 23:44:46
阅读次数:
245
#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
炮兵阵地Time Limit: 2000msMemory Limit: 65536KBThis problem will be judged onPKU. Original ID:118564-bit integer IO format:%lld Java class name:Main司令部的将军...
分类:
其他好文 时间:
2014-08-02 23:23:05
阅读次数:
302
Description
司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:
如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色...
分类:
其他好文 时间:
2014-07-30 12:20:53
阅读次数:
193
http://poj.org/problem?id=1185炮兵阵地Time Limit:2000MSMemory Limit:65536KTotal Submissions:18687Accepted:7204Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*...
分类:
其他好文 时间:
2014-07-30 11:58:53
阅读次数:
259
poj1185:http://poj.org/problem?id=1185题意:这道题太经典了,看到题目就知道题意,故题意略。题解:经典的状压dp。以前觉得dp是个很难的东西,做了这一题之后发现,dp其实根本不难,真的,而且很好打。思维过程:拿到题之后,由于之前做过,所以知道是状压dp。接着想怎么...
分类:
其他好文 时间:
2014-07-29 10:43:36
阅读次数:
277
状态压缩是一个很广的概念,在OI中也有很多的应用,当我们把他应用到动态规划中,可以用来精简状态,节约空间,也方便转移。最常见的就是用二进制来表是状态,利用各种位移运算,就可以实现\(O(1)\)的转移。状压DP适用于“窄棋盘”上的DP,否则状态太多无法存下。POJ1185炮兵阵地题意:给一个\(N ...
分类:
其他好文 时间:
2014-07-27 23:17:19
阅读次数:
391
1:POJ炮兵阵地 预先处理好情况,然后又类似格子取数的状压。我们用DP[I][J][K]表示处理第I个格子,I-1格子的状态为J,I-2的格子为K,然后转移1#include2#include3#include4#include5#include6usingnamespacestd;7chars[...
分类:
其他好文 时间:
2014-07-26 09:52:27
阅读次数:
254