做法:快速幂+求逆元取模 因为ans=((3^(n+2))/2)%P 而ans%P/2!=ans/2%P 所以由费马小定理当gcd(a,p)==1&&P为质数时,a^(p-1)≡1(mod p)可得:ans*(p+1)/2≡ans/2 (%p) 然后就可以美滋滋地对ans取模辣 Code: 1 #i ...
分类:
其他好文 时间:
2017-10-26 21:03:46
阅读次数:
154
费马小定理: 在p是素数的情况下 a^p≡a(modp),对式子变形得:a^(p-1)≡1(modp),那么a的逆元inv[a] = a^(p-2)。 组合数C(m,n) = m! / (n! * (m-n)!),当C(m,n)特别大的时候,需要对p取余,若p是素数,那么可以利用费马小定理快速求逆元 ...
分类:
其他好文 时间:
2017-10-19 12:49:41
阅读次数:
172
3456: 城市规划 Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通. 为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两 ...
分类:
其他好文 时间:
2017-10-18 15:28:19
阅读次数:
169
线性求逆元i的逆元为i^(-1) (mod p)我令p=k*i+r,0<i<p,r<ip=0(mod p)k*i+r=0(mod p)两边同时乘(i^(-1))*(r^(-1)),然后移项i^(-1)=-k*r^(-1)(mod p)i^(-1)=-(p/i)*(p%i)^(-1)(mod p)故a ...
分类:
其他好文 时间:
2017-10-17 23:05:42
阅读次数:
346
https://www.luogu.org/problem/show?pid=1966 求逆序对 用树状数组。 ...
分类:
其他好文 时间:
2017-10-17 17:25:41
阅读次数:
150
如果对于一个1000000级别的素数,这样做的时间复杂度是很高了。实际上有的算法,有一个递推式如下 它的推导过程如下,设,那么 对上式两边同时除,进一步得到 再把和替换掉,最终得到 初始化,这样就可以通过递推法求出模素数的所有逆元了。 另外模的所有逆元值对应中所有的数,比如... ...
分类:
其他好文 时间:
2017-10-12 15:44:59
阅读次数:
134
线性求逆元: A[1]=1; A[i]=-(p/i)*A[p%i] (mod p); 求组合数: (前面的)A[i]=A[i]*A[i-1];(逆元累乘相当与除以阶乘) B[0]=1; B[i]=B[i-1]*i; 所以组合数公式套进去就是 C(n,m)=B[n]*A[m]*A[n-m]; ...
分类:
其他好文 时间:
2017-10-09 21:05:21
阅读次数:
135
已知欧拉函数计算公式 初始公式:φ(n)=n*(1-1/p1)*(1-1/p2).....*(1-1/pm) 又 n=p1^a1*p2^a2*...*ps^as 欧拉函数是积性函数 那么:φ(n)=φ(p1^a1)* φ(p2^a2)........φ(pn^an). ...
分类:
其他好文 时间:
2017-10-08 11:21:41
阅读次数:
207
Description 给定n,m,p(1≤n,m,p≤10?^5??) 求 C_{n+m}^{m} \mod p 保证P为prime C表示组合数。 一个测试点内包含多组数据。 给定n,m,p(1≤n,m,p≤10?^5??) 求 C_{n+m}^{m} \mod p 保证P为prime C表示组 ...
分类:
其他好文 时间:
2017-10-07 22:04:28
阅读次数:
165