jzoj5746

题意

给定\(p,k\)\(T\)次查询,每次询问给定\(n\),求\(\sum\limits_{i=1}^n i^k(\%~p)\)。(\(2\le n,m,k\le 10^{18},1\le T\le 3*10^3\)\(p\)最大质因子不超过\(3*10^5\)

做法

\(p\)最大质因子不超过\(3*10^5\),直接暴力分解一下\(p=\prod p_i^{a_i}\)

单独考虑一个\(p_i^{a_i}\),这个\(i\)跟下面那个不同啊,由于容易区分就不管重名了

\[\begin{aligned}\\ \sum\limits_{i=1}^n j^k&=\sum\limits_{i=1}^n (ap_i+b)^k\\ &=\sum\limits_{i=1}^n \sum\limits_{j=0}^{min(k,a_i)}{k\choose j}(ap_i)^j b^{k-j}\\ &=\sum\limits_{j=0}^{min(k,a_i)}{k\choose j}p^j \sum\limits_{i=1}^n a^j b^{k-j}\\ &=\sum\limits_{j=0}^{min(k,a_i)}{k\choose j}p^j (\sum\limits_{a=0}^{\frac{n}{p_i}-1} a^j\sum\limits_{b=0}^{p_i-1}b^{k-j}+(\frac{n}{p_i})^{j}\sum\limits_{b=0}^{n\%p_i} b^{k-j})\\ \end{aligned}\]

猜你喜欢

转载自www.cnblogs.com/Grice/p/12693168.html