
数论
Togt
这个作者很懒,什么都没留下…
展开
-
容斥原理+快速幂求逆元+lucas
原创 2018-05-09 21:55:15 · 329 阅读 · 0 评论 -
数论-素数(miller-rabin,埃式筛,欧拉筛(线性筛求欧拉函数的系数)+大数因子分解)
首先贴一个最基本的O(n−−√)n)\sqrt n)素数判定方法直接进行因子检测即可#include<bits/stdc++.h>using namespace std;int n;bool prime(int n){ if(n<2)return false; for(int i=2;i*i<=n;i++) {原创 2018-05-20 21:14:33 · 458 阅读 · 0 评论 -
递推求逆元
三行代码 inv[1] = 1; for (int i = 2; i<MAXN; i++) inv[i] = inv[MOD%i]*(MOD-MOD/i)%MOD;简单证明一下可行性:只需证明:inv[i]∗i=1modMODinv[i]∗i=1modMODinv[i]*i=1mod MOD 可证:inv[MODinv[MODinv[MOD%i...原创 2018-05-07 16:00:16 · 199 阅读 · 0 评论 -
poj3233矩阵快速幂(模板)
题意:给定一个n*n的矩阵A,求S=A+A2+A4+..+AkS=A+A2+A4+..+AkS=A+A^2+A^4+..+A^k(每个元素mod m)题解:矩阵快速幂: 设Sk=I+A+A2+A4+..+AkSk=I+A+A2+A4+..+AkSk=I+A+A^2+A^4+..+A^k,其中III为单位矩阵#include<iostream>#include<cs...原创 2018-05-07 00:40:47 · 218 阅读 · 0 评论 -
gcd
有序列表1. LCM(a, b) = a / GCD(a, b) × b;//先除后乘 防止数字过大爆炸2. 欧几里得cppvoid gcd(int a,int b){ return b==0?a:gcd(b,a%b);}3. 扩展欧几里得void exgcd(LL a, LL b, LL &amp;x, LL &amp;y, LL &am...原创 2018-05-07 10:44:17 · 229 阅读 · 0 评论 -
FWT
picks博客作为参考FWT能干什么:FWT可以对于两个数组a和b,求出他们的位运算卷积c,使得c[k]=∑a[i]∗b[j]∑a[i]∗b[j]\sum a[i]*b[j] (对于所有的i和j 满足 i位运算j等于k )我们先讲与卷积和或卷积,最后再讲异或卷积一个简单的问题:给定数组a,求数组b,使得b[i]=∑a[j]∑a[j]\sum {a[j]} (对于所有的j满足...转载 2018-05-06 21:14:44 · 337 阅读 · 1 评论 -
Guass(高斯消元+模板)
复杂度(O(n3)O(n3)O(n^3) 过程:先将增广矩阵转上三角矩阵,然后解x[i];模板:#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstring&amp;amp;amp;gt;#include&am原创 2018-05-18 14:33:53 · 659 阅读 · 0 评论 -
FFT+NTT自学笔记(大数乘积模板)
学习步骤1.回顾一下复数的指数表示形式:常规表示: z=a+ib;z=a+ib;z=a+ib; 指数表示: z=reiθ;z=reiθ;z=re^{iθ}; 其中,r为z的模,θ为辐角主值。 z=r(cosθ+isinθ)=reiθz=r(cosθ+isinθ)=reiθz=r(cosθ+isinθ)=re^{iθ} ,欧拉公式2.快速傅里叶变换要解决的问题:计算多项式乘...原创 2018-05-10 13:32:25 · 1572 阅读 · 0 评论 -
1-N中素数的个数(N非常大)
贴个博客以后学习原创 2018-05-22 23:32:14 · 3211 阅读 · 0 评论