卡了一晚上,经历了被卡空间,被卡T,被卡数组等一堆惨惨的事情之后,终于在各位大爹的帮助下过了这个题qwqqq (全网都没有用矩阵转移的动态dp,让我很慌张) 首先,我们先考虑一个比较基础的\(dp\) 我们令\(dp1[i]\)表示必须选\(i\)的最大连通块的权值是多少. 然后令\(ans1[i]\)表示\(i\)的子树中的\(dp1\)的最大值. 那么该怎么计算这两个数组呢. 首先$$dp1[i] = dp1[i]+max(0,dp1[p])$$ 其中\(p\)是\(i\)的儿子. \[an…