jzoj6436

题意

给定(n)点的树,给定(m)个关键点,从中选(k)个,从任意点开始任意点结束的最短路径期望长度

做法

假设(k)个点已经选好了,则答案为(2sum-L)(sum)为虚树边权和,(L)为直径长度
枚举每条边是否出现,令(u)为子树外的关键点,(d)为子树内的关键点,则出现的方案数为(frac{{mchoose k}-{uchoose k}-{dchoose k}}{{mchoose k}})
枚举直径((u,v)),枚举每个点判断(dis(u,x),dis(v,x))(dis(u,v))的大小

题外话

topcoder上的题,记得当年做法好像有点复杂...

原文地址:https://www.cnblogs.com/Grice/p/12872580.html