- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 定量 现在大概大家已经了解了定量是什么,那么我们下面通过几道题目来了解一下定量的威力. 游戏 游戏(Noip2003普及组) 这一题的描述简单说一下:在一个圈的周围有n个石子,将他们划分成m堆(每堆中的石子必须连续相邻),每一堆石子计算出他们的总重量mod10的值,然后将这些值相乘,求得到的结果最大最小值是多少. 游戏 这一题作者其实是根据最佳加法表达式改编的.但是他加了一个在圈上的条件,怎么办呢? 寻找定量! 游戏 可想而知,因为至少要分成1堆,那么至少有两个石子之间是会被分隔开的.这就是定量!当划分数1时,一定有两个相邻石子被划分到不同的堆里去! 于是这个圈被这样的理解断成了一条线,解法就和最佳加法表达式一样了. 当然这个断开的位置是需要枚举的,然后保留下一个最优值.显然这个断开的操作对整个过程没有影响,因为这是必然的情况,这是定量! 最优三角形划分 问题描述 给定一具有N(N50)个顶点(从1到N编号)的凸多边形,每个顶点的权均已知。问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小? 最优三角形划分 这一题大概搜都是十分麻烦的,可是这一题Dp的话,比搜索要容易实现和容易理解得多. 先得表示一下状态,我们用f[i,j]表示以第i个点开头,顺时针长度为j的一块子多边形.如上图中f[1,5]表示的子多边形(黑色虚线划开) 最优三角形划分 如果没有红色虚线的部分,或许你会认为决策应该是枚举子多边形内的两点连线,然后分成两个子多边形.这显然是不行的,因为计算机已经无法再表示分割出来的子多边形了(不能用f[i,j]来表示了). 最优三角形划分 那么我们该如何决策呢?寻找定量! 显然可以发现,f[i,j]表示的子多边形有一条边是在内部的(黑色虚线),而这一条边在该子多边形内必定属于某个三角形,因为我们选择了该子多边形作为一种状态,那么就一定存在那条虚线黑边,所以一定存在所说的三角形.于是我们枚举这个三角形的另外一个点在子多边形的位置,则可以把子问题还原到原问题(因为该三角形把多边形划成了两个可以用表示的多边形和一个三角形).这些再次分割出的子多边形就是以前状态,而刚才的多边形则是当前状态. 定量 其实定量的作用就是为了写出状态转移方程,即让人能迅速找出状态之间的关系(决策).通过定量的处理,当前状态又回到了以前状态,选手就可以知道,这一题就是要用动态规划来求解了. 定量 我们来看看刚才的一些题目的定量. 交错匹配:一定存在最后一组交错(这好像是废话),所以枚举这个最后的交错的位置作为状态,这样就回到以前状态. 买车票:定量1:一定有最后一个车站(这个作为状态);定量2:某个车站一定是由某个前面的车站到达的.(导弹拦截也是这样) 数字三角形:某个点一定是由他上面的相邻两点到达的.(过河卒也是这样) 定量很不错啊! 动态规划的武器 在动规的操作过程中,或者是操作过程前,有一些很常用的武器,这里简要介绍两种: 排序 武器一:排序 遇到过很多需要排序的动态规划题目,如果不排序,动规的思想很难体现. Tom的烦恼 Tom的烦恼 这是大家熟知的一题,如果不排序的话,复杂度便是N^2,按起始时间排序复杂度也是N^2,二按结束时间排序之后复杂度降为了NlogN. 巴比伦塔 巴比伦塔 问题描述: 有很多的不同种类的立方体(长宽高不同),每一类有无限多个.将他们一层层的叠加起来,要求上面的一块立方体的下底面一定要比下面的一块立方体的上底面要小,就是长和宽都要小于.问最多能建成多高的塔. 巴比伦塔 经过研究可以发现,每一种类的立方体有3种不同的摆放方式,而每种摆放方式最多用1次,所以可以分离出3*N块“不同”的立方体,接下来,或许你仍然不知道如何动规,那么就试试排序.列出所有的石块的所有摆放方式xi,yi,zi.必须全部保证xiyi或者xiyi.然后按关键字xi,yi,zi的大小顺序排序.这样就可以进行十分简单的类似与导弹拦截的一个动态规划的处理了.限制条件是xi和yi,代价值是zi(高度). 滑雪 滑雪(上海2002) 题目的大意是给出一个矩阵,如: 对于所给出的矩阵找出一条最长的递减链,满足链中相邻的两个元素间都是在矩阵中相邻的. 上图中所给出的矩阵中的最长链 是1 2 3 4……25. 滑雪 对于有给出的数字进行递减排序,然后两重循环就搞定问题.动态转移方程是: F[i]:=max(F[i],F[j]+1); 满足条件是i与j在原矩阵中相邻. 试想,如果你不知道要排序,你能想到这题是用动态规划吗? 填鸭 武器二:填鸭 这个思想带有枚举的感觉.就是开个大数组,把代价值一个个填进去. 硬币问题 硬币问题(经典问题) 就是给出n种硬币的面值,问面值 M有多少种不同的表示方
文档评论(0)