1 条题解
-
0
自动搬运
来自洛谷,原作者为

Elegia
irony搬运于
2025-08-24 22:26:44,当前版本为作者最后更新于2020-11-28 23:42:57,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
本文给出一个 的算法(下文均认为 同阶,且用 符号避免 因子的讨论),虽然复杂度较优,但其所带的 因子以及常数因子使其在目前的数据范围内并没有太大的优势。(这里是一个实现)
让我们先来回顾一下前面不太关键的部分,设 为总分数为 的方案数的生成函数,那么考虑计数总分小于 的情况,这无非就是
根据诸个比赛日相互之间的独立性, 可确定为一个简单的乘积式
即 ,那么考虑整理各 指数上的幂次,可得到整数数列 ,满足
$$\begin{aligned} g(x) &= \prod_{k\ge 1} (1-x^k)^{c_k}\\ &= \exp\left(\sum_{k\ge 1} c_k \ln (1-x^k)\right)\\ \end{aligned} $$注意到这是可以 计算的。
而对于每次询问,设其将一个原本在 内的分数改为了 ,那么我们询问的实则就是
$$\begin{aligned} & \quad [x^{y-1}] \frac{1-x^{t+1}}{1-x^{s+1}} g(x)\\ &= \left([x^{y-1}] - [x^{y-t-2}]\right) \frac 1{1-x^{s+1}} g(x) \end{aligned} $$因此,我们将问题转化为了如下情况:多次给出 ,询问 ,也即
接下来给出解决转化后问题的关键。我们首先考虑一个稍微弱一点的问题,即给出 ,求
这个问题不难写做生成函数的形式:
因此我们不妨令 为阈值,预处理对于所有的 ,其 ,这通过经典的分治取模可得一个复杂度为 的算法。
因此复杂度为 ,不难得到当 的时候渐进复杂度的指数取到最优,为 。
而对于原问题呢?实际上这可以通过加一层分治,每层都按照本层的 进行预处理,那么预处理的复杂度为 ,这还是 的。而一次询问是 的,因此询问还是 的。
综上,我们就得到了一个 的做法。
- 1
信息
- ID
- 6025
- 时间
- 1000ms
- 内存
- 250MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者