随笔分类 - 数学
摘要:快速幂 在你保证两个数相乘不爆 long long 的情况下使用。 本质上是拆成二进制之后乘起来。 inline int qpow(int a,int b){ int res=1; while(b){ if(b&1) res=mul(res,a); a=mul(a,a); b>>=1; } retu
阅读全文
摘要:先给出最为基本的公式 这个可以看一些小学的具体一点的问题就可以比较好的理解然后推广。严谨证明我们
阅读全文
摘要:费马小定理(模数是质数) long long power(long long a,long long b,long long c) { a=a%c; long long res=1; while(b>0) { if(b&1) res=(res*a)%c; a=(a*a)%c; b=b>>1; } r
阅读全文
摘要:有的时候我们为了方便对于低位进行操作,我们要把二进制数翻转过来,这样可以避免使用大量的取模操作。 直接入正题 思想解释+具体代码 我们要求 的区间中的每一个翻转。 首先要知道的是什么叫一个 进制数的翻转。 我们以 进制为例,\((x_{n}..
阅读全文
摘要:建议全文背诵 3->2优化 #include<bits/stdc++.h> using namespace std; #define LL long long #define file(a) freopen(#a".in","r",stdin),freopen(#a".out","w",stdout
阅读全文
摘要:普通生成函数 对于一个序列 ,其生成函数形如(本质上是个多项式): 用通俗一点的话来解释生成函数这个概念,其实就是把序列按照编号从小到大的顺序放到多项式次数从低到高的系数里。所以说,如果该序列有通项公式,那么其生成函数的系数就是通项公式。
阅读全文