随笔分类 -  数学

摘要:快速幂 在你保证两个数相乘不爆 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 阅读全文
posted @ 2022-02-24 10:04 cbdsopa 阅读(50) 评论(0) 推荐(0) 编辑
摘要:先给出最为基本的公式 |i=1nAi|=CA(1)size(C)1|eCe| 这个可以看一些小学的具体一点的问题就可以比较好的理解然后推广。严谨证明我们 阅读全文
posted @ 2022-02-24 10:03 cbdsopa 阅读(59) 评论(0) 推荐(0) 编辑
摘要:费马小定理(模数是质数) 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 阅读全文
posted @ 2022-02-24 10:02 cbdsopa 阅读(48) 评论(0) 推荐(0) 编辑
摘要:Anm=n!(nm)! Cnm=n!m!(nm)! 实现直接调用逆元套公式即可 Cnm 也写作 (nm) ,读作 "n 选 m". 阅读全文
posted @ 2022-02-24 10:01 cbdsopa 阅读(60) 评论(0) 推荐(0) 编辑
摘要:也是直接给公式了 (mn)mod p=(m%pn%p)(m/pn/p) 阅读全文
posted @ 2022-02-24 09:57 cbdsopa 阅读(37) 评论(0) 推荐(0) 编辑
摘要:有的时候我们为了方便对于低位进行操作,我们要把二进制数翻转过来,这样可以避免使用大量的取模操作。 直接入正题 思想解释+具体代码 我们要求 [0,2len) 的区间中的每一个翻转。 首先要知道的是什么叫一个 a 进制数的翻转。 我们以 2 进制为例,\((x_{n}.. 阅读全文
posted @ 2022-02-24 09:56 cbdsopa 阅读(299) 评论(0) 推荐(0) 编辑
摘要:来,背 稍微提一下原根的求法,我们对于模数(p-1)质因数分解,然后暴力枚举原根,我们发现原根满足 i=1ngp1pi1(mod p) 就没了。 然后就是模数需要满足是X×2n+1 的形式,否则上任意模数NTT 阅读全文
posted @ 2022-02-24 09:53 cbdsopa 阅读(228) 评论(0) 推荐(0) 编辑
摘要:建议全文背诵 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 阅读全文
posted @ 2022-02-24 09:52 cbdsopa 阅读(53) 评论(0) 推荐(0) 编辑
摘要:普通生成函数 对于一个序列 a ,其生成函数形如(本质上是个多项式): F(x)=nanxn 用通俗一点的话来解释生成函数这个概念,其实就是把序列按照编号从小到大的顺序放到多项式次数从低到高的系数里。所以说,如果该序列有通项公式,那么其生成函数的系数就是通项公式。 阅读全文
posted @ 2022-02-24 09:51 cbdsopa 阅读(215) 评论(0) 推荐(0) 编辑
摘要:对于一个多个子游戏的博弈,我们借助其SG函数烟究(某数学老师的口音)这个先后手的胜负。 给一个定义,其中 x 可以到达 xi SG(x)=mex{SG(x1),SG(x2),...,SG(xn)} 然后对于mex,我们定义其为集合中没有的第一个非负整数。 然后我们 阅读全文
posted @ 2022-02-24 09:48 cbdsopa 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示