堆叠 解题报告

堆叠

题意:

给出一堆质数,求这些质数乘起来的数的约数之积mod1e9+7

数据范围:

质数个数小于等于2e5,质数大小小于2e5


\[N=\prod_{i=1}^k p_i^{c_i} \]

\[C=\prod_{i=1}^k c_i+1 \]

则答案为

\[\prod_{i=1}^k p_i^{\frac{C}{c_i+1} \times \sum_{i=1}^{c_i}i } \ mod \ p \]

先求指数

要用到扩展欧拉定理

\[a^k \equiv a^{k \% \varphi (p)} \ (mod \ p)$$,$p$质 注意到我们要把1e9+6拆成$2,500000003$再用CRT合并 注意在求逆元的时候要先把$2$或$5000000003$的项给拿出来,求完了再扔回去 事实上可以做到更简单 把答案化简为 $$\prod_{i=1}^k p_i^{\frac{C \times c_i}{2}} \ mod \ p\]

我们在求出\(C\)的时候随便找一个偶数把\(2\)给拿掉,如果没有那么\(c_i\)一定是偶数,反正找一个把2除了就行啦

代码只写了个假的CRT的版本,就不放出来了


2018.9.2

posted @ 2018-09-02 16:35  露迭月  阅读(162)  评论(0编辑  收藏  举报