树形动态规划(信息学竞赛)概要.ppt

树形动态规划(信息学竞赛)概要

树状动规 1333: VIJOS-P1180 选课 想要选修某个课程,那么它的先修课必须要被选择。 多叉树转二叉树动归。 首先大家先了解多叉树转二叉树。 原则:二叉树的结点x的左儿子为x的儿子,右儿子是x的兄弟。即左儿子,右兄弟原则。 1333: 选课 (多叉树转二叉树) 1333: VIJOS-P1180 选课 状态F(x,y):表示节点x取y门课得最高学分 方程F(x,y)=max{F(R[x],k) , F(L[x],k-1) + a[x] + F(R[x],y-k) } k=0,1,..y F(L[x],k-1)+a[x] :表示左孩子选了k-1门课及包括课程x,共k门课的最大学分。 F(R[x],y-k) 表示右孩子只能选y-k门课的最大得分。 分析出来了这么多,代码如何写才是关键,否则都是空中楼阁。 我们引入记忆化搜索的思想,即每深搜一步,把搜做到的结果保存起来,当下次搜索到同样的位置时,直接使用! 记忆化搜索经典题目:1911滑雪 1257 Function 2140: 通向自由的钥匙 通向自由的钥匙被放n个房间里,这n个房间由n-1条走廊连接。注意:这就是一棵树。 本题的动规的过程与上一题选课是一样的 唯一不同的是题目给出树的根为1,还有树的联通性。 建二叉树树的过程是需要大家仔细思考的。 2140: 通向自由的钥匙 1273: 加分

文档评论(0)

1亿VIP精品文档

相关文档