数学
cheng__yu_
这个作者很懒,什么都没留下…
展开
-
二次剩余
二次剩余二次剩余勒让德符号判别式求解流程模板2019牛客第九场 B Quadratic equation二次剩余定义:对于n、p,若存在x,使得x2≡n(mod p)x^2\equiv n(mod\ p)x2≡n(mod p),则称n为模p意义下的二次剩余。也就是说,如果n是模p的二次剩余。那么n mod p\sqrt n\ mod\ pn mod p,可以用二次同余方程的解 xxx 来代替n\sqrt nn,暴力地找就是 x2%p==n原创 2020-09-17 23:44:35 · 637 阅读 · 0 评论 -
积性函数线性筛
积性函数线性筛1、莫比乌斯函数 μ\muμ2、欧拉函数 φ\varphiφ3、约数个数函数d4、约数和函数σσσ5、积性函数1、莫比乌斯函数 μ\muμconst int N=6e6;int visit[N+10],prime[N+10],mu[N+10],cnt;void init(){ cnt=0,mu[1]=1; for(int i=2;i<=N;++i) { if(!visit[i]) prime[++cnt]=i,mu[i]=-1; for(int j=1;j<原创 2020-09-17 22:39:29 · 244 阅读 · 1 评论 -
欧拉降幂
欧拉降幂欧拉降幂bzoj3884. 上帝与集合的正确用法2019ICPC南昌预选赛网络赛 B. super_logCF906D. Power Tower欧拉降幂定理:当b>φ(p)\varphi(p)φ(p) 时,ab≡ab%φ(p)+φ(p)(mod p)a^b\equiv a^{b\%\varphi(p)+\varphi(p)} (\mod p)ab≡ab%φ(p)+φ(p)(modp)细节:每次递归过程中维护的是指数,因此需要在 dfs 出口计算当前的指数,在 qpow 的过程中也通过原创 2020-09-17 20:51:02 · 269 阅读 · 0 评论 -
数论推式子习题
数论推式子推式子P4213 【模板】杜教筛(Sum)P3327 [SDOI2015]约数个数和2019西安邀请赛 B. Product(杜教筛)HDU - 6706 huntian oy(杜教筛)推式子从枚举因数到枚举倍数,因数不便化简,倍数可以直接靠除法压缩规模遇到 gcd(i,j)gcd(i,j)gcd(i,j) 可以枚举它,遇到 [gcd(i,j)=x][gcd(i,j)=x][gcd(i,j)=x] 可以缩小 iii 、jjj 的规模,变成 [gcd(i,j)=1][gcd(i,j)=1]原创 2020-09-17 20:14:46 · 1021 阅读 · 1 评论 -
数论基础知识
数论知识剩余类完全剩余系欧几里得算法扩展欧几里得算法线性同余方程求解同余方程POJ1061 青蛙的约会求解一元线性同余方程组POJ2891 Strange Way to Express Integers剩余类设模为n,则根据余数可将所有的整数分为n类,把所有与整数a模n同余的整数构成的集合叫做模n的一个剩余类,记作[a]。并把a叫作剩余类[a]的一个代表元例如,模3时,[1]=[4]=[7]={1,4,7⋯ }[1]=[4]=[7]={\{1,4,7\cdots\}}[1]=[4]=[7]={1,4,原创 2020-09-16 00:18:45 · 957 阅读 · 0 评论 -
高斯消元习题
高斯消元P3389 【模板】高斯消元法 (浮点数模板题)P3389 【模板】高斯消元法 (浮点数模板题)链接:https://www.luogu.com.cn/problem/P3389#include <bits/stdc++.h>#define ll long longusing namespace std;const int maxn=110;int n;double a[maxn][maxn];double x[maxn];int guess(double a[]原创 2020-07-23 15:52:36 · 2493 阅读 · 0 评论 -
FWT
快速沃尔什变换算法流程P4717 【模板】快速沃尔什变换 (FWT)算法流程(1) 计算 ci=∑i=j∣kajbkc_i=\sum_{i=j|k} a_jb_kci=∑i=j∣kajbk设 fwt[a]i=∑j∣i=iajfwt[a]_i=\sum_{j|i=i} a_jfwt[a]i=∑j∣i=iaj,设序列左半边为 a0a_0a0,右半边为 a1a_1a1,可以得到:fwt[a]=merger(fwt[a0],fwt[a0]+fwt[a1])fwt[a]=merger(fwt原创 2020-07-23 01:27:00 · 101 阅读 · 0 评论 -
FFT、NTT模板
快速傅里叶基础知识FFT进行多项式乘法的步骤P3803 【模板】多项式乘法(FFT)基础知识离散傅里叶(DFT)和逆变换(IDFT)时间复杂度都是O(n2)O(n^2)O(n2)快速傅里叶(FFT)时间复杂度为O(nlog2n)O(nlog_2n)O(nlog2n)推导过程:设A(x)=a0+a1x+a2x2+⋯+anxnA(x)=a_0+a_1x+a_2x^2+\dots+a_{n}x^nA(x)=a0+a1x+a2x2+⋯+anxn,假设n为偶数,根据奇偶性分为:A(x)=(a原创 2020-07-22 02:23:09 · 163 阅读 · 0 评论 -
拉格朗日插值法
拉格朗日插值法维基百科链接一个 k 次多项式,可以由 k+1k+1k+1 个 kkk 次多项式相加得到。拉格朗日插值公式为:L(x)=∑i=0kyi∏j=0,i≠jkx−xjxi−xjL(x)=\sum_{i=0}^{k}y_i\prod_{j=0,i\neq j}^{k} \frac{x-x_j}{x_i-x_j}L(x)=i=0∑kyij=0,i=j∏kxi−xjx−xj其中插值基函数 li(x)l_i(x)li(x) 为:li(x)=∏j=0,i≠jkx−xjx原创 2020-07-21 15:58:59 · 2146 阅读 · 0 评论 -
矩阵快速幂习题
矩阵快速幂模板习题B generator 1 2019牛客第五场 (矩阵快速幂)模板struct Matrix{ static const int MAXN=2; ll a[MAXN][MAXN]; void init() { memset(a,0,sizeof(a)); for(int i=0;i<MAXN;++i) a[i][i]=1; } Matrix operator*(const Matrix &b) const { Matrix res;原创 2020-07-06 01:10:14 · 1098 阅读 · 1 评论 -
递推公式
递推公式1、一阶线性递推式:fn=afn−1+bf_{n}=a f_{n-1}+bfn=afn−1+b ,且已知 f1f_1f1的值(1)当 a = 0 时,fn=bf_n=bfn=b(2)当 a = 1 时,fn=fn−1+b=(n−1)b+f1f_{n}=f_{n-1}+b =(n-1)b + f_1fn=fn−1+b=(n−1)b+f1, 为等差数列(3)当 a≠0,a≠1a\neq 0,a\neq 1a=0,a=1 时,令特征方程 f(x)=ax+bf(x)=ax+bf原创 2020-07-06 00:01:42 · 4095 阅读 · 0 评论