牛客题解乱写
https://ac.nowcoder.com/acm/contest/11179/D
考虑暴力\(dp\)
\(dp[i][j]\)代表算入了i个点,总度数为j的方案数
\(dp[i][j]=max(dp[i-1][j-k]+f[k]) (1<=k<=n-1)\)
最后的答案便是\(dp[n][n*2-2]\)
瓶颈在于\(dp\)状态有两维
\(dp\)和\(f\)都很难优化
所以考虑删掉一维状态
首先对于每个点都规定一个度数
之后再选出一个度数为一的点给他加上若干度数
这样的话便可以去掉第一维了
无论选几个最终都是合法的
时间复杂度\(O(n^2)\)