题面:
题意:
有一棵 n n n 个节点的树,边权均为 1 1 1,从上面选 m m m 个点的方案为 C n m C_n^m Cnm。
对于每一种方案,该方案的权重定义为这 m m m 个点到树上某一点的距离和的最小值。我们定义这一点为最优点。
求 C n m C_n^m Cnm 种方案的权重的和。
题解:
我没枚举每一条边,假设这条边两侧的节点数分别为 s s s, n − s n-s n−s。我们在这条边两侧选的节点数为 i i i, m − i m-i m−i,我们可以知道,最优点一定在选的点数较多的一侧。
那么对于某条边来说较为容易得到公式:
f ( s ) = ∑ i = 1 m − 1 C s i ∗ C n − s m − i ∗ m i n ( i , m − i ) f(s)=\sum\limits_{i=1}^{m-1}C_s^i*C_{n-s}^{m-i}*min(i,m-i) f(s)=i=1∑m−1Csi∗Cn−sm−i∗min(i,m−i)
显然,对于每一条边,计算该式子的时间复杂度是 O ( n 2 ) O(n^2) O(n2) 的。
考虑化简,我们令 p = ⌊ m − 1 2 ⌋ p=\left\lfloor\frac{m-1}{2}\right\rfloor p=⌊2m−1⌋,那么我们得到式子:
f ( s ) = ∑ i = 1 p C s i ∗ C n − s m − i ∗ i + ∑ i = 1 p C s m − i ∗ C n − s i ∗ i + [ m m o d 2 = 0 ] ∗ C s m 2 ∗ C n − s m 2 ∗ m 2 f(s)=\sum\limits_{i=1}^pC_s^i*C_{n-s}^{m-i}*i+\sum\limits_{i=1}^pC_s^{m-i}*C_{n-s}^i*i+[m\space mod\space 2=0]*C_s^{\frac{m}{2}}*C_{n-s}^{\frac{m}{2}}*\frac{m}{2} f(s)=i=1∑pCsi∗Cn−sm−i∗i+i=1∑pCsm−i∗Cn−s