E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
poj1185
【算法每日一练]-动态规划(保姆级教程 篇13)POJ2686马车旅行 #POJ3254 玉米田 #
POJ1185
:炮兵阵地
每个票的使用情况,然后更新此票状态下的最优解,dp到没有票就行了dp每行的种植状态,从i-1行进行不断转移dp每行的种植状态,从i-1和i-2行进行不断转移POJ2686马车旅行思路:POJ3254玉米田思路:
POJ1185
亦歌希望你变强啊
·
2024-01-07 10:33
动态规划
算法
动态规划
数据结构
深度优先
c++
图论
POJ 1185 炮兵阵地
POJ1185
炮兵阵地题目链接Description司令部的将军们打算在N∗MN*MN∗M的网格地图上部署他们的炮兵部队。
旺 崽
·
2020-09-14 07:18
状压DP
POJ
NOIP
POJ 1185 炮兵阵地 (经典状态压缩题)
炮兵阵地(
POJ1185
)TimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:30481Accepted:11762Description司令部的将军们打算在
爱玲姐姐
·
2020-09-14 06:00
POJ题解
动态规划
算法
动规DP
状态压缩
二进制
状压DP详解(2)--状态的预处理+经典例题剖析--
POJ1185
炮兵阵地
在看本篇之前你需要对状态压缩较为理解,同时应该明白了我的前两篇博客状压0和1。状压0https://blog.csdn.net/qq_43906000/article/details/90798220状压1https://blog.csdn.net/qq_43906000/article/details/90815938解决了前两篇博客的问题后可能有种状压DP不过如此的错觉,不过让你产生错觉的是状
lonely_wind_
·
2020-08-10 20:08
#
状压DP
状压DP
时间超限问题处理(c++)
c++中如果时间超上限做题上:考虑关于二进制的方法比如说findyourpresent(2)这道题可以用异或运算来发现不重复数对于动态规划状态压缩发面方面应用更多比如说
poj1185
炮兵布阵其中地图用二进制表示十进制储存运算起来十分方便输入输出
a11125850
·
2020-07-04 09:38
POJ1185
炮兵阵地 状态压缩动态规划
求最大摆放个数,小模板。#include#include#include#defineN65#defineM102/*实际上单行不冲突状态只有60种哇哈哈*/usingnamespacestd;intm,n,p,ans;intstate[N],s[N],f[M][N][N],map[M];intcheck(inta,intb){if(a&b)return0;return1;}voidinit_st
空灰冰魂
·
2020-07-01 14:19
状态压缩
动态规划
***
POJ1185
炮兵阵地 ACM解题报告(状压dp入门题)
这题是个入门的状压dp(虽然对我来说好难啊,坑了一下午终于过了。。。)难得一个中文题,还这么难注意点挺多的,首先是要开数组记录所有情况,然后记录每种情况的炮兵数,很多处理类似于前一题3254,可以参考,不过这题更难一点,因为需要考虑两行。所以得开个三维数组记录情况,d[i][j][k],i是当前行数,j是第i行的情况,k是i-1行的情况。状态转移方程:d[i][j][k]=max(d[i][j][
Miracle_ma
·
2020-07-01 11:04
思维的可扩展性&
poj1185
突然想到这么一个词语,觉得很重要。最近在看状态压缩dp,因为不会状压,所以还找了那个ppt去看,外面又百度看了几篇博客,感受一下那个写法。我自己第一道状态压缩dp,之前自己写的深搜是这种的:voiddfs(intcur,intst,intcount){if(cur==m){state[tot]=st;stanum[tot++]=count;return;}flg[cur+1]=0;dfs(cur+
weixin_33994429
·
2020-06-28 09:09
状态压缩dp、轮廓线、插头dp——从入门到不会
题目清单
POJ1185
炮兵布阵(状态压缩dp)HDU1693闭合线路统计(插头dp)POJ2411平面骨牌密铺(状态压缩dp/轮廓线更新)HDU1565矩阵选数(轮廓线更新)HDU2167矩阵选数(比上一题更严格的条件
njzwj
·
2020-03-24 07:45
poj1185
炮兵布阵(状压dp)
思路来源https://blog.csdn.net/qq_34374664/article/details/54900865心得判断当前枚举的放1的位置a是否合法,既可以和原地图对应的十进制数b作a|b==b的判断也可以对地图取反,做a&(!b)==0的判断正确性显然对于第一行和第二行就特殊讨论一下吧自己水平不够,没法合并mdzz这种题真是wa得查不出错心态爆炸代码#include#include
Code92007
·
2019-01-13 20:28
状压dp
[
POJ1185
][NOI2001]炮兵阵地 状压DP
题目链接:http://poj.org/problem?id=1185很裸的状压,考虑对于一行用二进制储存每一种的状态,但是状态太多了做不了。观察到有很多状态都是不合法的,于是我们预处理出合法的状态,发现只有60种,然后随便DP一下就可以了。1#include2#include3#include4usingnamespacestd;5intN,M;6charG[110][15];7ints[65]
halfrot
·
2017-10-27 21:00
状态压缩dp总结 长期更新
状压dp本人做的题目真的不太多...至今还未理解到其中的精髓.所以以下的思路描述中有存在不当的地方希望能够指出.另外,有些地方说的比较复杂,因为本弱鸡对这些东西不是很理解.....多写点有助于理解吧.
POJ1185
Statusrank
·
2017-07-22 10:23
状态压缩dp
[NOI2001][
POJ1185
]炮兵阵地(状压dp)
题目描述传送门题解m很小并且山地和平原、放置与不放置可以用01表示,所以一看就是状压dp。但是炮可以打到上下两个格子这一点很烦人,这样的话不能用前一行向当前行转移,因为有可能在前一行的前一行存在一个炮和当前行的冲突。那么我们在状态表示里至少要存两行的状态。但是210∗2不是有点太大了么?有趣的是,每一行的炮与炮之间至少要留两个空格,所以每一行实际的方案数要比210要小很多,即使是最大的m=10也不
Clove_unique
·
2016-10-31 23:17
题解
dp
NOI
炮兵阵地
poj1185
用vecotra[61]来存每一行符合单行要求的编号。boolmap[i][j]用来表示编号i和编号j能否在一条直线上#include #include #include #include #include usingnamespacestd; structnode { intnum,val; }v[61]; ints[11],cnt=0,n,m; intdp[101][61][61]; vect
sinat_33397705
·
2016-05-03 15:00
【
poj1185
】 炮兵阵地 题解&代码(C++)
id=1185题解:经典的状压dp题目,和poj3254的题意很像,只不过poj3254是
poj1185
的简化版,相当于炮兵的攻击范围减少了一,这样的话我们发现与poj3254不同的是,这次第i行的状态不仅会受到第
deritt
·
2016-04-19 16:53
poj
dp
状态压缩
oi之路
poj
DERIT的博客专栏
【
poj1185
】 炮兵阵地 题解&代码(C++)
id=1185题解:经典的状压dp题目,和poj3254的题意很像,只不过poj3254是
poj1185
的简化版,相当于炮兵的攻击范围减少了一,这样的话我们发现与poj3254不同的是,这次第i行的状态不仅会受到第
deritt
·
2016-04-19 16:53
oi之路
poj
DERIT的博客专栏
【
poj1185
】 炮兵阵地 题解&代码(C++)
id=1185题解:经典的状压dp题目,和poj3254的题意很像,只不过poj3254是
poj1185
的简化版,相当于炮兵的攻击范围减少了一,这样的话我们发现与poj3254不同的是,这次第i行的状态不仅会受到第
DERITt
·
2016-04-19 16:00
dp
poj
状态压缩
poj1185
这道题目和poj3254属于类型题,思想和方法上都类似,首先,自己做麻烦的第一点在于a&b两个十进制的数本身就可以判断两列是否有炮兵对打,而不用像我一开始想象的把十进制转成二进制,再用二进制进行判断,这个已经帮你弄好了。第二点,本身状态也没有那么多。最多是1024个,再加上用if((i&i #include #include #include #include #include #pragmawa
zcmartin2014214283
·
2016-03-27 17:00
dp
poj
poj1185
(状态压缩dp)
链接:点击打开链接题意:司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的
stay_accept
·
2016-03-27 15:00
源码
动态规划
ACM
poj
poj1185
(状态压缩dp)
炮兵阵地TimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 23321 Accepted: 9027Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不
martinue
·
2016-03-24 11:00
dp
ACM
大二
poj1185
炮兵阵地【状压dp】
Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区
zhou_yujia
·
2016-03-23 20:00
poj
状态压缩dp
POJ1185
炮兵阵地 状压dp
题目描述:司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用”H”表示),也可能是平原(用”P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左
wuxuanyi27
·
2016-03-22 13:00
dp
poj
【POJ 1185】炮兵阵地(状压DP)
【
POJ1185
】炮兵阵地(状压DP)TimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:23107Accepted:8957Description司令部的将军们打算在
A_LeiQ
·
2016-03-03 21:24
POJ
状压dp
ACM之DP
【POJ 1185】炮兵阵地(状压DP)
【
POJ1185
】炮兵阵地(状压DP)TimeLimit:2000MS MemoryLimit:65536KTotalSubmissions:23107 Accepted:8957Description
ChallengerRumble
·
2016-03-03 21:00
【POJ 1185】炮兵阵地(状压DP)
【
POJ1185
】炮兵阵地(状压DP)TimeLimit:2000MS MemoryLimit:65536KTotalSubmissions:23107 Accepted:8957Description
ChallengerRumble
·
2016-03-03 21:00
POJ1185
炮兵阵地 (状态压缩DP)
题目点我点我点我题目大意:简单不多说思路:先全列出所有可行的状态,放炮兵就为1,不放就为0,这时先不考虑地形,把可行状态列出来后,再与地形匹配,山地H为1,平原p为0,这样两者以二进制匹配得数为0则匹配成功。然后第i行(i>2)只由第i-1行的状态和第i-2行的状态决定,dp[i][j][k]代表第i行的状态为j,第i-1行状态为k,所以有状态转移方程dp[i][j][k]=max(dp[i][j
L954688947
·
2015-11-18 22:00
poj1185
(状压dp)
题目连接:http://poj.org/problem?id=1185 题意:给出一张n*m的地图,'H'表示高地,不能部署炮兵,'P'表示平原,可以部署炮兵,炮兵之间必须保持横向、纵向至少2个格子的距离,保证没有误伤。问最多可以部署多少炮兵。 分析:对于每行大炮的状态仅与上两行的状态有关,因此要开个三维的数组来表示状态,当前行的状态可由前两行的状态转移而来。 当前行的最大值
·
2015-11-13 06:39
poj
poj1185
炮兵阵地 经典状态压缩dp
这个题目和上一个种玉米的是一个类型,都是状态dp,用二进制位来表示当前的一个状态值,只不过比上一个稍微复杂了一点,需要用三维的数组来保存当前state。 题目:在一个N*M的矩阵上布置炮兵部队,只有平原可以布置,然后每个炮兵部队都有一个攻击范围,它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。 问:如何部署炮兵部队,在防止误伤的前提下(保证任何两支炮兵部队之间不能互相攻击,即任何一支炮
·
2015-11-11 18:24
poj
POJ1185
- 炮兵阵地(状态压缩DP)
题目大意 中文的。。直接搬过来。。。 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的
·
2015-11-11 12:42
poj
POJ1185
炮兵阵地
1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #include <map> 5 using namespace std; 6 int m,n; 7 vector<int> warMap; 8 9 map&
·
2015-11-11 04:36
poj
POJ1185
炮兵阵地
题目大意:在一块N*M的区域内,P为平原,H为山地。平原可以放炮兵部队,山地不可以。每支炮兵部队可能会误伤同行或同列【-2,+2】区间内的友军。在保证不误伤的前提下,问该区域最多可以布置多少炮兵。N<=100,M<10 分析:按行处理。每一行的状态可以用dfs处理出来,保存在数组中。 f[i][j][k]=∑(f[[i-1][k][p]) f[i][j][k]表示第i
·
2015-11-11 02:16
poj
poj1185
:炮兵阵地(状压dp)
也算是比较基础的状压dp了,跟做过的第二道比较又稍微复杂了一点 需要记录之前两行的状态。。 统计结果也稍有不同 另外还学习了一个得到一个整数二进制位 1 的个数的位运算方法 详见代码: #include <iostream> #include <stdio.h> #include<string.h> #include<algorithm&
·
2015-11-10 22:08
poj
poj1185
状压dp
poj1185
状压dp 炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions
·
2015-11-08 16:19
poj
POJ1185
:火炮(减少国家)
Description 命令将军打算N*M该网络格他们的炮兵部队部署在地图上。一个N*M该地图由N行M列,每个地图格它可以是山(使用"H" 表示),也可能是平原(用"P"表示),例如以下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不可以部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所看到的: 假设在地图中的灰色所标识的
·
2015-11-01 12:03
poj
状态压缩DP总结
POJ1185
炮兵部队问题: 在平原上才能放置炮兵,每个炮兵的上下左右2格之内都不能出现别的炮兵 可以考虑在当前行放置炮兵它的右侧和下侧绝对不会出现炮兵即可,左侧和上侧就能省去考虑
·
2015-11-01 10:32
总结
poj1185
炮兵阵地状压dp
压前两行的状态很容易想到,但是 直接搞 (1<<10) * (1<<10) 空间时间都明显受不了, 但是经过高人指点,你会发现:枚举每一行可行的状态,其实并不多,预先打表处理,不用 1->(1<<10)枚举每一种状态。。 然后记忆化搜就ok了。 #include <cstdio> #include <c
·
2015-10-31 10:43
poj
hdu 4539(状压dp)
pid=4539 思路:跟
poj1185
简直就是如出一辙!
·
2015-10-31 08:53
HDU
poj1185
状态压缩dp #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> using namespace std; #define MAX_COL_NUM 15 #define MAX_ROW_NUM 105 #define MAX
·
2015-10-27 13:04
poj
[状压dp]
POJ1185
炮兵阵地
中文题 题意不再赘述 对于中间这个“P” 根据dp的无后效性 我们只需考虑前面的 就变成了 只需考虑: 也就是状压前两行 具体与HDOJ的4539类似: 看HDOJ 4539 仅仅是共存状态的判断不同 1 //#include <bits/stdc++.h> 2 #include <cstdio&g
·
2015-10-27 13:22
poj
poj-2411 Mondriaan's Dream ***
1 /* 状态压缩DP , 类似炮兵阵地(
POJ1185
,本blog有。。) 2 * 3 * 自己写的,判断是否合法写的很长。。。
·
2015-10-21 12:03
poj
poj1185
(状态压缩)
炮兵阵地TimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 22206 Accepted: 8589Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不
d_x_d
·
2015-09-05 14:00
dp
状态压缩
状态压缩DP总结【POJ3254】【
POJ1185
】【POJ3311】【HDU3001】【POJ2288】【ZOJ4257】【POJ2411】【HDU3681】
原文地址:点击打开链接动态规划本来就很抽象,状态的设定和状态的转移都不好把握,而状态压缩的动态规划解决的就是那种状态很多,不容易用一般的方法表示的动态规划问题,这个就更加的难于把握了。难点在于以下几个方面:状态怎么压缩?压缩后怎么表示?怎么转移?是否具有最优子结构?是否满足后效性?涉及到一些位运算的操作,虽然比较抽象,但本质还是动态规划。找准动态规划几个方面的问题,深刻理解动态规划的原理,开动脑筋
qq_25605637
·
2015-08-01 12:00
[置顶] AC GO GO GO!!!
CDOJ1301FindtheStuff未做的:HDU5179 HDU4788 ZOJ3542 搜索:POJ1606 HDU5094 HDU5077 HDU4394DP:POJ3254 CornFields
POJ1185
code12hour
·
2015-07-08 22:00
poj1185
炮兵阵地
Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区
Herumw
·
2015-06-21 16:21
状压dp
poj1185
炮兵阵地
Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的
Kirito_Acmer
·
2015-06-21 16:00
状压dp
POJ 3254 Corn Fields (状压DP)
(不放牛也算一种情况)思路:就是
POJ1185
炮兵阵地 的弱化版,炮兵那题相当于间隔两行,这里是间隔一行,减少一维坐标就可//192KB32msC++1221B #include #include #include
kalilili
·
2015-03-29 22:00
poj1185
点独立集/最大团
炮兵阵地TimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 20469 Accepted: 7932Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不
u012866104
·
2015-03-05 18:00
poj1185
三维状压dp
炮兵阵地TimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 20467 Accepted: 7930Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不
u012866104
·
2015-03-05 16:00
***
POJ1185
炮兵阵地 ACM解题报告(状压dp入门题)
这题是个入门的状压dp(虽然对我来说好难啊,坑了一下午终于过了。。。)难得一个中文题,还这么难注意点挺多的,首先是要开数组记录所有情况,然后记录每种情况的炮兵数,很多处理类似于前一题3254,可以参考,不过这题更难一点,因为需要考虑两行。所以得开个三维数组记录情况,d[i][j][k],i是当前行数,j是第i行的情况,k是i-1行的情况。状态转移方程:d[i][j][k]=max(d[i][j][
Miracle_ma
·
2015-02-10 17:00
动态规划
ACM
poj
poj1185
炮兵阵地 dp+状态压缩 经典题目
/*dp[i][j][k]为第i行的数在第i-1的状态为j第i行的状态为k的最大值状态转移方程dp[i][j][k]=max(dp[i][j][k],dp[i-1][s][j]+count(k))count(k)为状态是k的时候能排的士兵*/#include#include#includeusingnamespacestd;#definemaxn110#definemaxs61charstr[ma
cq_pf
·
2014-12-14 22:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他