本题看似很难,实际上思路非常简单--如果你想通了. 首先有一个问题:图中有几个点?大部分的人会回答\(n\)个点.错了,有\(n+1\)个. 多出来的那个点在哪?关键在于你要理解每一个决策的意义.实际上,多出来的那个点是地下的天然矿泉水.当我们打井时,我们实际上是在往地下连边.理解了这一点,代码就没有任何难度了. 构图时,我们只需多加一个点,对于每个点\(i\),我们连边\(i→n+1\),边权为\(w_i\).然后直接跑最小生成树就没了.就没了.(转载from here) #include<b…