2014信息学奥林匹克夏令营-day4树形DP(洪鑫焰).pdf

2014信息学奥林匹克夏令营-day4树形DP(洪鑫焰).pdf

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

常州市第一中学 洪鑫焰 引言 树形结构是信息学奥赛中重要的数据结构模 型之一,有关树形结构的试题在竞赛中也经 常出现。鉴于在树形结构上使用动态规划算 法已成为近年来信息学奥赛的考察热点,本 文将重点围绕动态规划算法在树形结构上的 应用进行阐述。首先对树形结构的特点和动 态规划的应用条件进行简要介绍,然后对动 态规划在树形结构上的各种应用进行举例说 明,最后进行总结,并提供了几个实战题目。 树形结构的主要特点  1、在一棵树里,除了根节点以外的所有 节点有且只有一个父亲节点,根节点没有 父亲节点。除了叶子节点外,所有的节点 有一个或多个孩子节点,叶子节点没有孩 子节点。  2、一棵树里任意两个节点之间都有且只 有一条通路,如果把任意一节点与其相邻 节点之间的通路看作一条无向边的话,那 么一棵树里没有环及重边的存在。因此, 一棵有N个节点的树恰好有N-1条边。  3、树是具有递归结构的。一个节点即是 一棵树,而一棵有孩子节点的树,若其根 节点为a节点,则其任意一个孩子节点b, 与所有不用通过a节点即可和b相连的节点 也构成一棵树,称为以b为根的a的一棵子 树。b的任意一棵子树也是a的一棵子树。  4、树是具有层次性的。如果一棵树是有 根的,那么某个节点a的深度 d(a)=d(father(a))+1,其中father(a)为 a的父亲节点。特别的,d(root)=1。  5、对于一棵树进行深度 (或宽度)优先遍 历后,每个节点的孩子节点的时间戳都是 大于该节点的。 树的遍历 对一棵树的遍历一般有两种途径。第一种 是深度优先遍历,第二种是宽度优先遍历, 这两种遍历方法对一棵树进行遍历后,会 得到不同的遍历顺序。在一般的使用中, 这两种遍历都是十分重要的。  以深度优先遍历为例,我们可以写出如下伪代 码:   void dfs(x){  x的时间戳=++time;  对于x的每个孩子y,  dfs(y)  }  这种深度优先遍历的时间复杂度是O(N),N为树 中的节点数。 动态规划算法必须满足的条件  1、阶段性。整个问题的求解可以划分为 若干个阶段的一系列决策过程(与树的层 次性相对应 )。  2、最优子结构性质。一个最优化策略具 有这样的性质,不论过去状态和决策如何, 对前面的决策所形成的状态而言,余下的 诸决策必须构成最优策略。简而言之,一 个最优化策略的子策略总是最优的(与树 的递归结构相对应 )。  3、无后效性。将各阶段按照一定的次序 排列好之后,对于某个给定的阶段状态, 它以前各阶段的状态无法直接影响它未来 的决策,换句话说,每个状态都是过去历 史的一个完整总结(与dfs的时间戳特点 相对应 )。 例1  周年庆宴 Hdu 1520 Anniversary party  【题目描述】  Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他 的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职 员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数之和 最大。但是,没有职员愿和直接上司一起与会。  【输入格式:】  第一行一个整数N。(1=N=6000)  接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128=Ri=127)  接下来N-1行,每行输入一对整数L,K。表示K是L的直接上司。  最后一行0 0表示结束。  【输出格式】  输出最大的快乐指数和。  【 样例输入】 【样例输出】  7 5  1  1  1  1  1  1

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档