会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
P=a1!×a2!×⋯×an! 的因子个数,等于把 P 唯一分解后每个质因数指数加 1 再相乘。
设 M=maxai。先线性筛出 [1,M] 中的质数。
令 pre[t] 表示有多少个阶乘包含整数 t,即有多少个 ai≥t。这可以用差分数组 O(n+M) 求出。
对每个质数 p,枚举它的倍数 i,用递推 pw[i]=pw[i/p]+1 得到 i 中 p 的指数,再累加 pre[i]×pw[i],即得到 P 中 p 的总指数。