
数论
赤兔码
我服了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
E. Devu and Flowers(生成函数)
题意: 有n类鲜花,每类鲜花有fi个,每类鲜花都是相同的,然后询问能凑成s朵鲜花的种类数。 对1e9+7取模。 n<=20,fi<=1e12,s<=1e14。 思路: 组合数学,但是肯定不能直接搞,因为s和fi太大了,而且模数也太大了,所以卢卡斯啥的肯定不行,于是考虑生成函数。 先写一个式子,这个式子之前真的从来没见过,虽然很弱智但是真的没用过。 1+x+x2+x3+...+xn=1−xn+11−x1+x+x^2+x^3+...+x^n=\frac{1-x^{n+1}}{1-x}1+x+x原创 2020-11-25 17:09:46 · 395 阅读 · 3 评论 -
FFT模板+NTT模板
嫖的模板,原理未知,用于多项式乘法。 将a多项式的系数赋值给a[i].x,b多项式的系数赋值给b[i].x然后solve(n,m)即可。 #include<iostream> #include<cstdio> #include<cmath> using namespace std; const int MAX_N=10100000; const double Pi=acos(-1.0); inline int read(){ char c=getchar();原创 2020-10-16 11:51:34 · 274 阅读 · 0 评论 -
【美团杯2020】平行四边形(原根)
G. 【美团杯2020】平行四边形 原根定义: 对于任意质数p都有一个原根g,满足gi%p!= gj%p,对于任意i!=j且i,j属于[1,p-1]都满足。 思路: 设p=n+1,对于每个点为(i,gi%p) 证明 假设存在平行四边形,即存在四个点(a,ga%p),(b,gb%p)(c,gc%p),(d,gd%p)为平行四边形,则 a-b=c-d,假设a>=b,c>=d; ga%p-gb%p=gc%p-g ^d%p, 即为gb(g(a-b)-1)%p=gd(g(c-d)-1)%p, 因为a-b=原创 2020-05-19 11:14:41 · 267 阅读 · 0 评论 -
求斐波那契数列循环节
当斐波那契数列%mod时一定存在一个循环节,根据鸽巢原理,mod*(mod-1)一定是一个循环节,但不一定是最短的。 然后求斐波那契数列%n的循环节时,先把n质因数分解, n=p1a1* p2a2*…*pkak, 然后循环节就是每个pa 的循环节的最小公倍数,pa的循环节即为num[p]*pow(p,a-1),num[p]是p的循环节。 即为num[p1] pow(p1,a1-1)与num[p2]...原创 2020-05-03 23:07:20 · 739 阅读 · 0 评论 -
数论公式
n ∑ i*(n-i+1)=1 * n+2 * (n-1)+3*(n-2)+…+n1=n * (n+1)(n+2)= i=1原创 2020-04-30 19:52:40 · 251 阅读 · 0 评论 -
南昌ICPC拉格朗日求值法题目
Polynomial 题意:给出一个n次多项式F(x),给出F(0),F(1)…F(n),m个询问给出l,r,求F[l]+F[l+1]+…+F[r-1]+F[r]。 n<=1000,m<=2000,1<=l<=r<=9999990。 思路:暴力肯定不行,需要求一共1e7的F[]数组,只要不是o(1)的求法就一定会爆,所有转化思路,猜测一个n次式的前缀和是n+1次式,为...原创 2020-02-19 18:57:25 · 213 阅读 · 0 评论 -
拉格朗日插值法
应用于当给出n+1个点,且这n+1个点在一个n次(或者小于n次)的多项式时,求给出在这个多项式上的一个点的x坐标,求出其对应的y坐标。 用法1: 当给出n+1个点后,直接将需要求的点的x坐标带入到这个拉格朗日法公式中,f(X)=y1*(X-x2)(X-x3)…(X-xn)/((x1-x2)(x1-x3)…(x1-xn))+y2*(X-x1)(X-x3)…(X-xn)/((x2-x1)(x2-x3...原创 2020-02-17 23:33:34 · 1335 阅读 · 0 评论 -
Wannafly Winter Camp Day5 G题
Cryptographically Secure PRNG 这个题打表找到的规律,卡常,因为求逆元是log级别的,所以如果用快速幂求逆元会T,所以求逆元需要用到递推公式。 递推公式 inv[i]代表i对于质数p的逆元 inv[i]=(p-p/i)*inv[p%i]%p; #include<iostream> #include<cstdio> #include<vect...原创 2020-01-31 18:30:45 · 220 阅读 · 1 评论 -
染色图(数论分块模板)
数论分块模板(sqrt(n))适用于|n / i|向下取余 因为n/i一共有sqrt(n)个值所以时间复杂度为根号n //nl代表总的左边界,nr是总的右边界 for(long long l=nl,r;l<=nr;l=r+1){ r=min(n/(n/l),nr); long long t=n/l; //l代表当前块...原创 2020-01-22 22:47:36 · 345 阅读 · 0 评论 -
求k进制n的阶乘下末尾0的个数
#include<iostream> #include<string> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<cmath> #include<cctype> #include&l...转载 2019-09-20 15:20:07 · 679 阅读 · 0 评论