时间:2014-11-06 来源:

Poj1185炮兵阵地(状态压缩dp入门题) 【移动开发】

炮兵阵地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17272   Accepted: 6593

Description

第一行包含两个由空格分割开的正整数网页外包接活,分别表示N和M;  接下来的N行,网页外包接活中间没有空格.按顺序表示地图中每一行的数据.N <= 100;M <= 10. Output

司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,div+css制作如下图.在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:  如果在地图中的灰色所标识的平原上部署一支炮兵部队,html静态页面制作沿纵向上下各两格.图上其它白色网格均攻击不到.从图上可见炮兵的攻击范围不受地形的影响.  现在,psd转html将军们规划如何部署炮兵部队,html切图制作在防止误伤的前提下(保证任何两支炮兵部队之间不能互相攻击网页外包接活,在整个地图区域内最多能够摆放多少我军的炮兵部队.  Input

仅一行web前端制作,表示最多能摆放的炮兵部队的数量. Sample Input

5 4 PHPP PPHH PPPP PHPP PHHP Sample Output

6 思路: 状态压缩承接网页制作,用二进制表示各个位置的状态,div前端切图然后枚举.就是对每一行用1和0表示各个位置是“P”还是“H”,之后用mp[i]存下这个二进制转换成十进制的数. 然后就是枚举所有的情况. dp[i][j][k]表示第i行,web切图报价当前j状态符合w3c标准,dp[i-1][k][p]+sum[j]). 细节还是得自己理解.. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<algorithm> #include<cstdlib> #include<set> #include<queue> #include<stack> #include<vector> #include<map> #define N 100010 #define Mod 10000007 #define lson l,idx<<1 #define rson mid+1,idx<<1|1 #define lc idx<<1 #define rc idx<<1|1 const double EPS = 1e-11; const double PI = acos(-1.0); const double E=2.718281828; typedef long long ll; const int INF=1000010; using namespace std; int mp[102];///记录每一行状态承接网页制作,例:HPPH 用 1001 表示,兼职手机网页制作mp[i]则记录mp[i]=9=2^3+2^0; int sum[103],cnt[102];///sum记录的是每种情况1的个数,网站div+csscnt则是记录对应的值 int n,len,dp[110][110][110]; bool ok(int x)///判断x的情况是否存在冲突,网页外包接活即左右一位和两位有没有1的重叠 { if((x&(x<<1))||(x&(x<<2))) return 0; return 1; } int getsum(int x)///符合条件的x,计算1的个数 { int ans=0; while(x>0) { if(x&1)///最后一位是1的时候 ans++; x>>=1;///左移一位,div+css制作即判断下一位是否为一 } return ans; } void finds()///预处理0~2^m的所有情况 { memset(cnt,sizeof cnt); len=0; for(int i=0; i<(1<<m); i++)///i枚举所有m位的二进制数 { if(ok(i)) { sum[len]=getsum(i); cnt[len++]=i; } } } int main() { //freopen("in.txt",stdin); while(cin>>n>>m) { char c; getchar(); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { scanf("%c",-1,dp[i-1][ii][jj]+sum[j]); } } } } int ans=0; for(int i=0; i<len; i++) for(int j=0; j<len; j++) if(ans<dp[n-1][i][j]) ans=dp[n-1][i][j]; cout<<ans<<endl; } return 0; }

点击次数:3947
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日类似物联网系统设计烦恼【编程语言】2015年01月13日cmd命令创建文件文件夹 【编程语言】2015年03月11日【Erlang】前人挖坑,后人还要进坑?(3) 【Web前端】2014年11月04日route路由【编程语言】2014年12月09日Hive调优(语法与参数层面优化) 【系统运维】2015年05月07日URAL1297.Palindrome(后缀数组求最大回文串)【综合】2015年01月24日JavaIO异常的处理方式【综合】2015年05月11日【POJ3468】ASimpleProblemwithIntegers 【编程语言】2015年03月10日算法学习-GrayCode(格雷码)的解释和c++实现【Web前端】2014年12月12日Andriod三步学会安卓自定义视图及其属性【编程语言】2015年03月16日linux进程间通信方式及比较 【编程语言】2014年12月09日一个随机生成数独的程序 【移动开发】2015年02月09日跨浏览器通用、可重用的选项卡tab切换js代码2014年01月29日JSP页面跳转页面带参数 【架构设计】2014年12月11日Make兼容的构建工具,Makepp2.0发布 ,,2016年06月23日CSS让段落开头自动空两格代码2014年01月28日Oracle数据库下载及安装图文操作步骤2014年01月30日Node.js0.7.1非稳定版发布 ,,2016年06月23日学习数据库笔记七 【Web前端】2015年03月24日【LeetCode】ContainsDuplicateII 【Web前端】2015年06月05日2.计算机病毒的分类【移动开发】2015年02月27日【BZOJ3442】学习小组费用流 【编程语言】2015年01月24日android学习二十三(解析json格式数据) 【移动开发】2015年01月09日Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法 【移动开发】2015年04月13日StopSQLServer2014年01月29日LowestCommonAncestorofaBinaryTree 【移动开发】2015年07月20日TCP三次握手及四次挥手 【综合】2014年11月24日Gentoo下安装与配置Nginx+MySQL+PHP(fastcgi)环境步骤分享2014年01月30日网站被黑后处理方法及删除批量恶意代码的方法步骤2014年01月30日实例:尽可能写友好的Javascript代码2014年01月29日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)