ACM动态规划入门.ppt
《ACM动态规划入门.ppt》由会员分享,可在线阅读,更多相关《ACM动态规划入门.ppt(32页珍藏版)》请在三一办公上搜索。
1、ACM程序设计,谢勇,2023/7/5,2,今天,,你 AC吗?,依然没有,2023/7/5,3,第四讲,动态规划入门(Dynamic programming),2023/7/5,4,一、经典问题:数塔问题,有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的值最大。,2023/7/5,5,用暴力的方法,可以吗?,2023/7/5,6,这道题如果用枚举法(暴力思想),在数塔层数稍大的情况下(如31),则需要列举出的路径条数将是一个非常庞大的数目(230=10243 109=10亿)。,试想一下:,2023/7/5,7,拒绝暴力,倡导和
2、谐,2023/7/5,8,从顶点出发时到底向左走还是向右走应取决于是从左走能取到最大值还是从右走能取到最大值,只要左右两道路径上的最大值求出来了才能作出决策。同样,下一层的走向又要取决于再下一层上的最大值是否已经求出才能决策。这样一层一层推下去,直到倒数第二层时就非常明了。如数字2,只要选择它下面较大值的结点19前进就可以了。所以实际求解时,可从底层开始,层层递进,最后得到最大值。结论:自顶向下的分析,自底向上的计算。,考虑一下:,2023/7/5,9,二、经典问题:最长有序子序列,2023/7/5,10,解决方案:,2023/7/5,11,思考 1160 FatMouses Speed,Sa
3、mple Input6008 1300 6000 2100 500 2000 1000 4000 1100 3000 6000 2000 8000 1400 6000 1200 2000 1900,Sample Output4 4 5 9 7,2023/7/5,12,再思考(1087),Super Jumping!Jumping!Juping!,解题思路?,2023/7/5,14,三、经典问题:最长公共子序列,HDOJ-1159:Sample Inputabcfbc abfcabprogramming contest abcd mnp,Sample Output 4 2 0,2023/7/5,
4、15,辅助空间变化示意图,2023/7/5,16,f(i,j)=由于f(i,j)只和f(i-1,j-1),f(i-1,j)和f(i,j-1)有关,而在计算f(i,j)时,只要选择一个合适的顺序,就可以保证这三项都已经计算出来了,这样就可以计算出f(i,j).这样一直推到f(len(a),len(b)就得到所要求的解了.,f(i-1,j-1)+1(ai=bj),max(f(i-1,j),f(i,j-1)(ai!=bj),子结构特征:,2023/7/5,17,四、经典问题:1421 搬寝室,Sample Input 2 1 1 3Sample Output 4,2023/7/5,18,搬寝室是很累
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACM 动态 规划 入门

链接地址:https://www.31ppt.com/p-5414600.html