QOJ4795
要求把 \(m\) 个乘客和 \(m\) 辆车两两匹配,使得距离之和最大,对于所有乘客和车的放置方案的最大距离之和求和。
考虑如果确定了乘客和车都在哪,如何求最大距离之和。容易想到考虑每条边对答案的贡献,令 \(a\) 表示子树内有多少个乘客,\(b\) 表示子树内有多少辆车,距离之和的上界为:
\[\sum_xw(x)(\min(a,m-a)+\min(b,m-b))
\]
易证能取到这个上界。因此答案为:
\[\large\sum_xw(x)\sum_{a=0}^m\sum_{b=0}^msz_x^{a+b}(n-sz_x)^{m-a+m-b}\binom ma\binom mb(\min(a,m-a)+\min(b,m-b))
\]
把 \(\min,+\) 的式子拆开,有:
\[\min(a,m-a)+\min(b,m-b)=\min(a+b,2m-a-b)
\]
枚举 \(a+b\) 和 \(a\),有:
\[\large\sum_xw(x)\sum_{i=0}^{2m}sz_x^i(n-sz_x)^{2m-i}\min(i,2m-i)\sum_{a=\max(i-m,0)}^{\min(i,m)}\binom ma\binom m{i-a}
\]
发现最后面的式子长得像范德蒙德卷积,并且当 \(a<i-m\vee a>m\) 时为 \(0\),可以直接化简。
直接算即可,时间复杂度 \(O(nm)\)。
一开始还在想怎么 DP 求方案数。不会数数。

浙公网安备 33010602011771号