题面太鬼畜不粘了. 题意就是给一张n*m的网格图,每个点有点权,有k个关键点,让你把这k个关键点连成一个联通快的最小代价. 题解 这题nmk都非常小,解法肯定是状压,比较一般的解法插头dp,但不太好写. 但其实这道题是裸的斯坦纳树模型. 斯坦纳树是最小生成树的变形,在一般情况下是NP问题,但在k规模较少时可以用状压dp求解. 我们可以设dp[i][j][s]表示以(i,j)为根,覆盖关键点集合为s时的最小代价. 对于这个状态内部的更新,我们可以对s枚举子集,相当于把联通块拆成两部分再合并起来,d…