动态规划地地总结

动态规划地地总结

ID:28820720

大小:63.50 KB

页数:8页

时间:2018-12-14

动态规划地地总结_第1页
动态规划地地总结_第2页
动态规划地地总结_第3页
动态规划地地总结_第4页
动态规划地地总结_第5页
资源描述:

《动态规划地地总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案动态规划总结byAmber1.  按状态类型分写在前面:从状态类型分,并不表示一题只从属于一类。其实一类只是一种状态的表示方法。可以好几种方法组合成一个状态,来解决问题。1.1.编号(长度)动态规划共性总结本类的状态是基础的基础,大部分的动态规划都要用到它,成为一个维。一般来说,有两种编号的状态:状态(i)表示前i个元素决策组成的一个状态。状态(i)表示用到了第i个元素,和其他在1到i-1间的元素,决策组成有的一个状态。题库a)      最长不下降子序列以一元组(i)作为状态,表示第i个作为序列的最后一个点的时候的最长序列。于是很容易想到O(n2)得算法

2、。但本题可合理组织状态,引入一个单调的辅助数组,利用单调性二分查找,优化到O(nlogn)。关于优化详见优化章。一些问题可将数据有序化,转化成本题。应用:拦截导弹(NOIP99Advance1)就是原题。BeautifulPeople(sgu199),要将数据有序化:其中一个权作为第一关键字不下降排列,另一个权作为第二关键字不上升。Segment(ural1078),将线段的左端点有序化就可以了。b)     LCS状态(i,j),表示第1个字符串的第i位,与第2个字符串的第j位匹配,得到的最长的串。若有多个串要LCS,则加维,即几个串就几个维。我也将此题归入路径问题

3、。c)     花店橱窗布置(IOI99)见路径问题。1.2.区间动态规划共性总结本类问题与下一章的划分问题的决策的分割点无序交集比较大(占本类问题的30%)。题库精彩文档实用标准文案a)      石子合并见划分问题b)     模版匹配(CEOI01,Patten)这题特殊的地方是状态的值是一个集合而不是一个数。c)     不可分解的编码(ACMWorldFinal2002)d)     ElectricPath(ural1143)e)      邮局(IOI2000Day21)若状态表示的思路从第i个村庄可以从属于哪个邮局,无最优子结构。转变一个方向:第k个邮

4、局可以“控制”一个区间的村庄[i,j]。于是方程就显然了:f(k,i,j)=min{f(k-1,p,i-1)+w(i,j)}(k-1<=p<=i-1)S(i)为村庄i到原点的距离。w(i,j)=min{k

5、Sum{

6、S(k)-S(p)

7、}(i<=p<=j)}(i<=k<=j)找到[i,j]间最好的一个邮局点。不过可以发现Sum{

8、S(k)-S(p)

9、是单调的,所以取中位数就可以了。即上式中k的取值范围只有floor((i+j)/2),ceil((i+j)/2)两个。Floor是下取整。Ceil是上取整。这样每次转移时间降到O(1)。注意到是区间连续的,即(p,i-1)

10、和(i,j)中的i-1,i是连续的,所以空间可以降维:f(i,j)表示放前i个邮局到前j个村庄的最优值。f(i,j)=min{f(i-1,p-1)+w(p,j)}(i-1<=p<=j-1}e(i,j)为当f(i,j)到达最优值时的p.通过证明四边形不等式,得到e(i,j)<=e(i,j+1)<=e(i+1,j+1)决策数量又少了一个数量级。1.3.坐标动态规划共性总结之后的一些问题,状态是由坐标维与其他的维组成。本类与划分问题(是2维或多维的坐标系的划分)与路径问题的交集占本类问题中大多数。题库a)      棋盘分割(NOI994)主要是将公式变形,变形后的公式很容

11、易看出方程。状态是由2个坐标组成的4元组(x1,y1)(x2,y2),表示一个子棋盘。这有点像之前的区间动态规划,只不过是将1维转2维。后见路径问题。1.4.数轴动态规划共性总结 题库a)      01背包应用:装箱问题(NOIP01Trade4)精彩文档实用标准文案就是原题。值币分割可利用方程的性质,空间降1维。币值可重复的值币分割(pku1742,ProblemFLouTianCheng’sContestinPOJ)使用左右法在定位上加速。另给状态加一个属性last,记录上一次剩下的可用的同币值硬币数(利用了当前转移是唯一前驱的特点)。b)     取火柴问题(

12、sgu153Playingwithmatches)c)     StonePile(ural1005StonePile)d)     公路巡逻(CTSC2000)1.5.5.树型动态规划共性总结1) 动态规划的顺序一般按照后序遍历的顺序,即处理完儿子再处理当前节点,才符合树的子结构的性质。2) 多叉树转换为二叉树由于要分配附加维到各个节点,而分配附加维是个划分问题,若还是按当前节点到各个儿子节点分配,则成了一个整数划分问题,O(n2)。所以要把多叉树转换为二叉树,这样才能按动态规划的方式只决策当前点的分配问题,O(n)。3) 加当前点的选或不选的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。