51nod 做题记录

51nod 1013

计算30+31+...+3n%p3^0+3^1+...+3^n\%p

法1:ans=3n+112%pans=\frac{3^{n+1}-1}{2}\%p
=inv(2)(3n+11)=inv(2)*(3^{n+1}-1)
法2:
矩阵快速幂[Sn1]=[3101][Sn11]\begin{bmatrix} S_n \\ 1 \end{bmatrix}=\begin{bmatrix} 3 & 1 \\ 0 & 1 \end{bmatrix}*\begin{bmatrix} S_{n-1} \\ 1 \end{bmatrix}

51nod 1035

题意是求一个倒数的最长循环节。
本题运用了无限循环小数的性质。
本来我的想法是高精除+floyd判圈。
根据性质,只要寻找到最小的k<=n,满足10k1(mod n)10^k ≡1 (mod\ n)k即为该n的循环节,暴力枚举k即可。
发现10=2*5,n中因子2和5对答案没有影响,为了加快速度,将因子2和5消去。

51nod 1040

gcd(i,N)=dNdϕ[Nd]\sum gcd(i, N) = \sum_{d|N}d*\phi [\frac{N}{d}]

posted @ 2019-08-05 23:36  Mr.doublerun  阅读(6)  评论(0)    收藏  举报