duang神给的一道题,感觉还是很有思考。
题中给出两类边
求恰好包含k条a类边的最小生成树
一开始没什么头绪
但是结果可以这样考虑
ans=min(∑e(a)+∑e(b));
如此一来
假设给所有e(a)减去一个值d那么ans=Min(∑(e(a)-d)+∑e(b));
也就是ans=min(∑(e(a))+∑e(b)-kd);
并不影响最小生成树的性质
所以就可以借用这个d来进行二分调控,使得做出来的最小生成树边数刚好为k
如此一来就可以二分解决了。
因为是看了学姐的题解所以算是转载吧