P1273 有线电视网(洛谷)

  这道题我一开始也是不会,后来看了题解,是分组背包dp问题,然后明白了,下面就说一说思路:(题意自己看吧)

  用d(i,j,k)表示以j作为根节点的子树,在前i个子节点中选择k个节点所得到的最大收益,显然这样的定义是将问题转化了,

  满足d(i,j,k)>=0最后就能够考虑(j==1,也就是说是最初的大根),然而其他情况即使<我们也需要考虑(可能与另外的i+x节点组成的数

  就>=0了,然后就是状态转移方程:d(i,j,k) = max(d(i-1,j,k), d(i-1,j,k-...)+d(.., v(子节点), ....)这个状态转移方程定义的很玄学,反正大家看   看这个题解就是了https://www.luogu.org/problemnew/solution/P1273(写的比我好),代码省略(我怎么这么懒。)

posted @ 2019-09-05 19:58  yifei_Wa  阅读(118)  评论(0编辑  收藏  举报