算法合集之多角度思考创造性思维精.ppt
《算法合集之多角度思考创造性思维精.ppt》由会员分享,可在线阅读,更多相关《算法合集之多角度思考创造性思维精.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法合集之多角度思考创造性算法合集之多角度思考创造性思维思维第1页,本讲稿共31页引入引入信息学竞赛中通常会出现这样的问题:给一棵树,要求以最少的代价(或取得最大收益)完成给定的操作有很多问题都是在树和最优性的基础上进行了扩充和加强,从而变成了棘手的问题这类问题通常规模较大,枚举算法的效率无法胜任,贪心算法不能得到最优解,因此要用动态规划解决第2页,本讲稿共31页引入引入在近几年信息学竞赛中,需要运用树型动态规划解决的问题频繁出现这些问题变化繁多,各类思想精华渗透其中,对选手分析问题的能力和解题创造性思维有着较高的要求,因此它在竞赛中占据了重要地位第3页,本讲稿共31页引入引入在此,我将分析近
2、几年国际比赛、全国比赛中的树型动态规划问题,重点探讨几种树型动态规划问题的解法,并从这些问题的分析过程中,提炼出解决这类问题的思想方法多角度思考,创造性思维。旨在论述解决问题的思维过程,而不仅仅是解题方法第4页,本讲稿共31页例题解析例题解析NOI03逃学的小孩IOI05河流NOI06网络收费POI04山洞第5页,本讲稿共31页问题描述问题描述n个伐木的村庄在0号结点有一个巨大的伐木场,木料被砍下后,顺着河流而被运到0号结点的伐木场为了减少运输木料的费用,再额外建造k个伐木场这些伐木场建造后,木料可以在运输过程中第一个碰到的新伐木场被处理。第6页,本讲稿共31页问题描述问题描述所有的河流都不会
3、分叉,也就是说,每一个村子,顺流而下都只有一条路到0号结点。已知每个村子每年要产多少木料,求在哪些村子建设伐木场能获得最小的运费。N100K50第7页,本讲稿共31页问题抽象问题抽象本题的题意很明确,即建立k个伐木厂,使得把所有木材运送到最近的祖先伐木厂的费用最小。由于题目给定的是一棵树,数据规模又比较大,很容易联想到树型动态规划。第8页,本讲稿共31页状态的确立状态的确立首先必须有的是当前点及以当前点为根的子树中,一共建立了多少伐木厂,但是这显然是不够的,因为这个状态中没有任何与伐木厂位置相关的信息。因此我们还需要再加一维。加上有关伐木厂的位置的信息。表示把以from为根的子树中建立klef
4、t个伐木厂,把木材全部运送到最近的祖先伐木厂,所需要的费用,并且from有一个祖先伐木厂为to_。(注意到这里to_仅仅是from的祖先伐木厂,而未必是from的最近祖先伐木厂,这是为什么呢?)第9页,本讲稿共31页状态的转移状态的转移状态转移分2种情况讨论:在from建立伐木厂不在from建立伐木厂第10页,本讲稿共31页状态的转移状态的转移在from建立伐木厂:即分配kleft个伐木厂给from的子结点,使得费用最小。这分配的过程,也就相当于背包问题。h1是用来解背包问题的临时数组,son是from的儿子结点。第11页,本讲稿共31页状态的转移状态的转移不在from建立伐木厂:依然是分配k
5、left个伐木厂给from的子结点,使得费用最小。不过不同的是,权不是而是,因为from处不一定有伐木厂。h2是用来解背包问题的临时数组,son是from的儿子结点。第12页,本讲稿共31页状态的转移状态的转移最后第13页,本讲稿共31页效率分析效率分析由于状态是3维的,而转移时需要枚举k、son、和j,看上去时间复杂度巨大。这是为什么?刚才的分析通过状态量和转移量相乘来分析效率,每一维都不到N。j的总数是n,son的总数也是n,所以虽然要枚举3个,但是总的运算量是一定的,时间复杂度为。第14页,本讲稿共31页回顾回顾本题的动态规划是多维的,要通过分析本题的动态规划是多维的,要通过分析建立状态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 之多 角度 思考 创造性思维
限制150内