网站大量收购独家精品文档,联系QQ:2885784924

浅析信息学中分与合课件.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析信息学中分与合课件

浅析信息学中的“分”与“合” 福建省福州第三中学 杨沐 引言 分 “分”的思想是将一个难以直接解决的大问题,转化成一些规模较小或限制某些条件的子问题来思考,以求将问题解决。 合 “合”的思想与“分”相对,是将一些零散的小问题的解决合并成一个大问题,从而取得整个问题的解决。 引言 [例一]牛奶模版 [例二]树的重建 [例三]最优序列 [例三]最优序列 给定一个长度为N的正整数序列。 求一个子序列,使得原序列中任意长度为M的子串中被选出的元素不超过K个。 要求选出的元素之和最大。 数据范围: 1≤N≤1000 1≤K,M≤100 [例三]最优序列 输入数据: N=10,M=4,K=2 {7,3,4,8,2,6,5,7,4,8} 输出答案: 36 {7,3,4,8,2,6,5,7,4,8} [例三]最优序列——分析 动态规划 线段树? 怎么办? [例三]最优序列——“分”繁为简 动态规划之所以不可行,原因在于——题目中K和M的范围太大了! 利用“分”的思想,我们尝试限制K,令K=1,也就是对于长度为M的子串,最多只选一个元素作为原题的一个子问题: [例三]最优序列——子问题 给定一个长度为N的正整数序列。 求一个子序列,使得原序列中任意长度为M的子串中被选出的元素不超过1个。 要求选出的元素之和最大。 数据范围: 1≤N≤1000 1≤M≤100 [例三]最优序列——“分”繁为简 对于这个子问题,由于K做了限制,我们可以用动态规划来解决这个问题。 设dp[i]表示前i个元素,在满足题意的前提下选出的最大和 dp[i]=max(dp[i-1],dp[i-M]+value[i]) i≥M dp[i]=max(dp[i-1],value[i]) 0iM dp[0]=0 [例三]最优序列——进一步分析 子问题 原问题 [例三]最优序列——进一步分析 命题 原问题的解集等价于由K组互不相交的子问题的解组成的解集。 引理一 原问题的任意一组解都可以由K组不相交的子问题的解组成。 引理二 任意K组不相交的子问题的解的并均为原问题的解。 引理一 原问题的任意一组解都可以由K组不相交的子问题的解组成。 证明 对于原问题的任意一解P={a1,a2,a3…at},a1a2a3…at。设sum[i]表示该解在区间[1,i]内取出的元素个数,则根据题意满足不等式: sum[i]-sum[i-M]≤K 以下,我们给出一种构造法使之能产生一组与该解等价的K个子问题的解。 设K个子问题的解分别为P0,P1,P2…Pk-1, 令Pi={aj | j≡i (mod K)} ∵sum[i]-sum[i-M]≤K ∴ai-ai-k≥M ∴P0,P1,P2…Pk-1均为合法的子问题的解 又因为P0∪P1∪P2…∪Pk-1=P,因此我们成功地构造出了子问题的解。 引理二 任意K组不相交的子问题的解的并均为原问题的解。 证明 设K个子问题的不相交的解分别为P0,P1,P2…Pk-1 , Pi={ai1,ai2,ai3…ail},ai1ai2ai3…ail ∵对于任意长度为M的区间,Pi至多只有一个元素在其内部 设P=P0∪P1∪P2…∪Pk-1, 则对于任意长度为M的区间,P在其内部选出的元素个数不超过K个 ∴任意K组互不相交的子问题的解的并都是原问题的合法解。 引理一与引理二分别证明了命题的充分性和必要性,因此该命题成立? [例三]最优序列——进一步分析 题目中存在着一个潜条件,即: 每个元素只能被选一次 若直接套用K次动态规划来求解,有可能导致某个元素被取多次,无法满足题目中的这个条件。 [例三]最优序列——进一步分析 N=10,M=4,K=2 { } 3 3 3 3 动态规划:12 贪心:9 [例三]最优序列——整体分析 考虑动态规划与贪心之所以不能得到正确解,其关键原因在于——题目中存在着一个元素只能被取一次的限制,而对于这种限制各点被选取次数的题目,我们通常使用网络流来解决,那么这道题是否也能通过转化图论模型来使用网络流解决呢?答案是肯定的。 [例三]最优序列——整体分析 构造带权网络G=(V,A,C) 序列中的每个元素i用顶点i与i’表示,i→i’连边,容量为1,费用为该元素的数值value[i],图中包含源S与汇T。 所有点i向点(i+1)连边,容量为+∞

文档评论(0)

186****0507 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档