斯坦纳树 比之前要求高了一些 其实利用斯坦纳树的dp[i][s]以i为根,S为状态就行了,先跑一遍斯坦纳树,预处理出dp数组,记住每个S的最小值,然后再dp,这里dp必须要求同一种颜色的状态都必须在S里,然后跑枚举子集就行了 #include<bits/stdc++.h> using namespace std; , inf = 0x3f3f3f3f; struct edge { int nxt, to, w; } e[N * ]; struct points { int x, c; } a[…