树形dp与优化方法

树形dp与优化方法

ID:41942530

大小:246.56 KB

页数:14页

时间:2019-09-05

树形dp与优化方法_第1页
树形dp与优化方法_第2页
树形dp与优化方法_第3页
树形dp与优化方法_第4页
树形dp与优化方法_第5页
资源描述:

《树形dp与优化方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、动态规划树形动规与优化方法聚会的快乐你要组织一个由你公司的人参加的聚会。你希望聚会非常愉快,尽可能多地找些有趣的热闹。但是劝你不要同时邀请某个人和他的上司,因为这可能带来争吵。给定N个人(姓名,他幽默的系数,以及他上司的名字),编程找到能使幽默系数和最大的若干个人。【输入】第一行一个整数N(N<100)。接下来有N行,每一行描述一个人的信息,信息之间用空格隔开。姓名是长度不超过20的字符串,幽默系数是在0到100之间的整数。【输出】所邀请的人最大的幽默系数和。【样例】party.inparty.out58

2、BART1HOMERHOMER2MONTGOMERYMONTGOMERY1NOBODYLISA3HOMERSMITHERS4MONTGOMERY分析首先,很显然公司的人员关系构成了一棵树。设f[a]为a参加会议的情况下,以他为根的子树取得的最大幽默值;g[a]为a不参加会议的情况下,以他为根的子树取得的最大幽默值。那么,状态转移方程就是:f[a]=g[b1]+g[b2]+…+g[bk]+1g[a]=max(f[b1],g[b1])+max(f[b2],g[b2])+…+max(f[bk],g[bk])其中

3、b1,b2,…,bk为a的子结点。最后的答案就是max(f[root],g[root]),root是树根。三色二叉树(tro)见文本树形动态规划(皇宫看守)太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。编程任务:帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得

4、花费的经费最少。数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。输入文件中数据表示一棵树,描述如下:第1行n,表示树中结点的数目。第2行至第n+1行,每行描述每个宫殿结点信息,依次为:该宫殿结点标号i(0

5、费。输入数据示例输出数据示例25问题分析求给定的带权树的符合下面条件的子顶点集合V:1.若点i∈V,则所有与i相邻的点j可被标号。2.任意一个点j,若j不属于V,则j可被标号。3.S=∑(Weight[i],i∈V),并且S最小。考虑到树本身的特性:除了根节点外,每一个节点都仅与该节点的父节点与儿子节点有关系;大多数情况下,每个节点的状况都是由它的儿子节点的状况决定的。这与动态规划的无后效性要求相符,再加上本题求的又是最优方案,这一切都与动态规划算法不谋而合。要求覆盖以节点i为顶点的树的最佳方案Vi,显然

6、只需考虑节点i属于或不属于集合V两种情况,两者择优即可。即Vi=min{Vi1,Vi2}(1表示属于,2表示不属于)(一)若i∈V,则对于i的任一儿子j,也只有属于或不属于集合V两种情况:(1)若j∈V,则问题转化到求Vj1的小一级规模问题,转化成功;(2)若j不属于V,则要不求Vj2,要不就是j不能被j的任意一个儿子标号,则求所有Vk(k为j的儿子),Vi1求好了。(二)若i不属于V,i一定要能被i的某个儿子j标号,这时求所有Vj(j为i的儿子)。若所有的j都是j被j的儿子标号时最“省”(即所有Vj=V

7、j2),那么实际上按这样的方案没有一个j∈V,造成了i不能被标号。这时只要找一个"牺牲"最小的i的儿子j,把方案Vj2换成Vj1。这样就求出了"覆盖以节点i为顶点且不包括节点i的最佳节点集Vi2"。状态转移方程通过上面的分析,我们很容易得到下面这组状态转移方程:F(i)=min{F(i,1),F(i,2)}F(i,1)=Weight(i)+∑min{F(j),∑min{F(k,1),F(k,2)}}F(i,2)=∑F(j);若所有F(j)

8、儿子)边界条件F(i)=F(i,1)F(i,1)=Weight(i)F(i,2)=+∞(以上i为叶子节点)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。