#724. 树上盲盒
树上盲盒
题目描述
有一棵树,包含 个结点,编号为 ~ 。其中 号点为根节点。
每个节点上挂着一个盲盒,摘取盲盒会获得一定的价值,对于编号为 的节点,摘取该节点上的盲盒会获得 的价值。注意: 可能为负数。
小明要从 号点出发,经过若干个点后,最终再回到 号点。在中间过程中,可以无限次经过 号点。但其他非根节点则有经过次数的限制,对于编号为 的节点,经过次数不得超过 。多次经过同一个节点 ,只会获得一次 的价值。
小明想知道他如何选择路线,可以获得的总价值最大。并且他想知道有多少条路线可以使得他获得最大总价值。
注意:
(1)小明在根节点一直不动,也算一条路线;
(2)两条路线不同,当前仅当经过的节点的集合不同,与经过顺序无关。
你能帮助他吗?
输入格式
第一行:一个整数 。
第二行: 个整数 。数据保证 ;并且
第三行: 个整数 。数据保证 ,表示根节点无经过次数限制;并且 。
接下来的 行:每行两个整数 , 表示节点 和节点 之间有一条树边。
输出格式
共两行。
第一行:一个整数,表示小明可以获得的最大总价值。
第二行:如果路线唯一,输出 yes, 否则输出 no。
输入样例
9
0 -3 -4 2 4 -2 3 4 6
0 4 4 2 2 2 2 2 2
1 2
1 3
1 4
2 5
2 6
3 7
4 8
4 9
输出样例
9
yes
样例说明
经过节点集合为 { }。
数据范围
100% 的数据:。
相关
在下列比赛中: