- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
状态压缩DP
先看一道例题 例题1 POJ3254 题目大意: 在一个n*m(1=n,m=12)的田地中种玉米,要求不能有任何两个玉米相邻,问有多少种方法(方法数mod 100000000)。 Sample input 2 3 1 1 1 0 1 0 Sample output 9 怎么办? 你们条件反射般想到的算法:裸搜,各种暴力各种剪枝。2^mn的复杂度,很明显超时。 正解:状态压缩DP 说到DP,我们很容易得出一种递推方式。 f[i,j]表示第i行状态为j的可能性数 f[i,j]=sum(f[i-1,k])(legal(j,k)=true) 这里有一个问题,我们怎么把第i行的状态表示出来? 二进制 注意到每一行至多只有12个数字,我们可以用一个至多12位的二进制数来表示状态,对于每一位,1表示种了玉米,0表示没有。 例如:11001 表示这一行第1、4、5个格子种了玉米。 既然状态已经表示出来了,那么我们就可以进行DP了,因为每一行至多有2^12=4096种状态,最多12行。整体效率为O((2^M)^2*N)至此,问题得到完美解决。 Function legal(x,y:longint):boolean; Begin if x and y0 then exit(false) else exit(true); end; procedure dp; var ans,i,j,k:longint; begin fillchar(f,sizeof(f),0); for i:=1 to num do if g[1] and data[i]=0 then f[1,i]:=1; for i:=2 to n do for j:=1 to num do if data[j] and g[i]=0 then for k:=1 to num do begin if g[i-1] and data[k]0 then continue; If data[j] and data[k]0 then continue; f[i,j]:=f[i,j]+f[i-1,k]; f[i,j]:=f[i,j] mod 100000000; end; ans:=0; for i:=1 to num do ans:=(ans+f[n,i])mod 100000000; writeln(ans); end; Data用来存储行的每一种种法。事先预处理。 num:=0; for i:=0 to 1 shl m-1 do if i and (i shl 1)=0 then begin inc(num); data[num]:=i; end; 什么是状压DP? 名称:基于状态压缩的动态规划、集合动态规划。 含义:以一个集合内的元素信息作为状态,状态总数为指数级别的动态规划。 特点: 1、本身要满足动态规划的性质: 最优性原理、无后效性。 2、数据某几维规模比较小。 什么时候可以用到? 一般的状态描述不满足无后效性原则,或者保存的信息不足够进行决策。 将当前一部分局面信息压缩存储,结合常见的一些局面描述,使得构成的状态满足无后效性原则 例题2 POJ2411 对于一个n*m的矩形,希望用1*2的矩形填满,不能重叠,问有多少种填充方式,有多组测试数据。 Sample input Sample Output 1 2 1 1 3
您可能关注的文档
最近下载
- 中储粮油脂有限公司2025年下半年招聘笔试模拟试题及答案解析.docx VIP
- 长庆低渗透油藏描述难点、主要做法及典型案例.pptx VIP
- 安徽省2024_2025学年高二化学上学期第一次月考试题.doc VIP
- 2025北京房山区区直部门和乡镇(街道)全日制临聘人员招聘37人笔试备考试题及答案解析.docx VIP
- 学校建筑结构设计计算书.doc VIP
- 《应用文写作》高职完整全套教学课件.pdf
- 【施工】劳动力计划安排.docx VIP
- 2025北京房山区区直部门和乡镇(街道)全日制临聘人员招聘补充考试备考题库及答案解析.docx VIP
- 2025年河北保定市莲池区招聘社区工作者80人备考练习试题及答案解析.docx VIP
- 2022-2023年药物制剂期末复习-药物制剂设备与车间工艺设计(药物制剂)考试全真模考卷9(附答案.docx VIP
文档评论(0)