搜城探宝

提交数: 17, 通过率: 76.47%, 平均分: 76.47

题目描述:

      zhclk已经坚信自己就是传说中的有缘人,于是,带着梦想,带着希冀,带着勇气,来到了神迹,寻找……

      如下图,神迹的城堡是一个树形的结构,共有n间屋子。每间屋子都有一把锁,并且每间屋子最多可以到另外的两个屋子里(它是一棵二叉树)。在城堡的每个房间都存在着不同的宝藏。现在zhclk站在城堡的大门口(1号屋子门口)拥有k把万能钥匙,可 以打开任意一把锁,但每把钥匙只能用一次,钥匙是拔不出来的。 
       问题哪有那么简单……Zhclk还有一个传送门,可以在任何时候带他去任何一间屋子,但传送门也只能 使用一次。 地图上画出了宝藏的分布,只有获得最大价值的宝藏zhclk的目的才能实现。

1614307245653698212.png

输入格式:

第一行:两个数n和k。为城堡的屋子总数和你拥有的万能钥匙数。 
第二行到第n行:每行两个数x1和x2,为树上的n-1条边。(树保证以1为根节点)。 
第n+1行:n个数,第i个数为房间i的宝藏价值vi 

输出格式:

一个数,为最大宝藏价值maxv。

样例输入:

8 4 
1 2 
1 3 
2 4 
2 5 
3 6 
3 7 
6 8 
2 5 1 4 6 1 1 10

样例输出:

27

提示:

{用钥匙依次开1 2 4 5 号房间,再用传送门去8号房间,27=2+5+6+4+10} 
数据范围: n<=20 

时间限制: 1000ms
空间限制: 128MB