Loading

省集 2025 D6T1 std 做法

根据期望线性性,只需要计算 \(b_1, b_2, \dots, b_n\) 即可,其中 \(b_k\) 可以看成随机生成 \(x_1 + x_2 + \dots + x_n \le m\),然后其中的第 \(k\) 大。

那么我们使用 \(\text{kth min-max}\) 容斥,\(E(b_k) = \sum\limits_{T \subseteq S} (-1)^{|T|-k} \dbinom{|T|-1}{k-1} \min(T)\)

枚举 \(T\) 的大小 \(j\),记大小为 \(j\) 的答案为 \(f_j\)。那么 \(f_j = \min(x_1, x_2, \dots, x_j) = \dfrac{\sum\limits_{i \ge 0} \binom{m-i}{n}}{\binom{m}{n}}\),可以调和计数的时间算出 \(f_j\) 的值。

然后上式等于 \(\sum\limits_{j=k}^n (-1)^{j-k} \binom{j-1}{k-1} \binom{n}{j} f_j\),使用 NTT 计算可以做到 \(O(n \log n + m \ln m)\)。不过为了预防超纲 \(n\) 只开了 \(5000\)

posted @ 2025-07-08 16:24  HaHeHyt  阅读(26)  评论(0)    收藏  举报