Description D e s c r i p t i o n
有一棵点数为 N N 的树,树边有边权。给你一个在 ~ N N 之内的正整数 ,你要在这棵树中选择 K K 个点,将其染成黑色,并将其他的 个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。
问收益最大值是多少。
Solution S o l u t i o n
树形DP是很好看出来的。
但是确定状态并不是那么简单的事情了。
我们先考虑形如 <u,v,w> < u , v , w > <script type="math/tex" id="MathJax-Element-51"> </script> 的边能够产生什么贡献吧。
题目中描述,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。那么在 u u 的左侧(很抽象的一个说法,就理解成把这条边摆中间,与 相连的那一部分都摆在左边,把与 v v 相连的都摆在右边,很明显,这两个部分是没有交集的)的黑点(白点同理)和