exLucas 平替_随笔
exLucas 平替
我们知道,exLucas 是 的,所以 很小时, 可以开到 。
不过很多时候,只是模数为合数而已,远没到 很大的地步,这个时候我们无需耗费精力学习 exLucas,可以直接使用它的平替。
预处理 ,询问 。
看到复杂度想必您已经会了,将 质因数分解,对于非 质因子的质数,它们存在逆元,我们可以照常处理阶乘、阶乘逆元中不含 质因数的部分。
值得注意的是,对一个质数 ,将 中的所有数去除掉 这个因子,暴力除的复杂度是 的,以密度最高的 为例分析就可以利用等比数列求和算出这个结果。
而对于 的因子部分,我们可以预处理 个数组表示每个因子在阶乘中的次数,而后 中 的次数只需 来算出,再预处理幂次即可算出这部分贡献。
如果空间告急,我们还有另一种计算方法 ,然后配合快速幂也可以实现询问多一个 ,空间少一个 。
评论
评论插件加载失败
正在加载评论插件