【题解】没有上司的晚会

这是一道关于树形结构的算法问题,目标是计算邀请哪些职员参加宴会能获得最大的快乐指数。每个职员有自己的快乐指数,并且存在从属关系,如果职员的上司参加了宴会,该职员就不会参加。解决方案中,利用动态规划dp[i][1]和dp[i][0]分别表示职员i参加和不参加时子树的最大快乐值,通过递归遍历子节点并更新状态,最后计算根节点的最大快乐指数。
摘要由CSDN通过智能技术生成

题目

题目描述

某大学有 n n n 个职员,编号为 1 … n 1\ldots n 1n

他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。

现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 r i r_i ri ,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。

所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。

输入格式

输入的第一行是一个整数 n n n

2 2 2 到第 ( n + 1 ) (n + 1) (n+1) 行,每行一个整数,第 ( i + 1 ) (i+1) (i+1)行的整数表示 i i i 号职员的快乐指数$ r_i$ 。

第$ (n + 2)$到第 2 n 2n 2n 行,每行输入一对整数 l , k l, k l,k,代表 k k k l l l 的直接上司。

输出格式

输出一行一个整数代表最大的快乐指数。

输入输出样例

输入

7
1
1
1
1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值