![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
知识点
无
Toniht
这个作者很懒,什么都没留下…
展开
-
幂级数展开
查询用原创 2019-09-26 20:28:05 · 597 阅读 · 0 评论 -
二进制数1的个数及两二进制数异或后1的个数的奇偶
二进制数1的个数判断二进制数1的个数,通过x &= x-1来不断消掉x的最右面的一位1,通过消除次数判断x的1的个数例如x=0100,则x-1=0011,(x &= x-1) =0000,所以x中的1的个数为1int onescount(int x){ int cnt = 0; while(x){ cnt++; x &= x-1; }...原创 2019-07-12 10:17:15 · 731 阅读 · 0 评论 -
数学板块学习之FWT
FWT快速沃尔什变换,在计算数学中,一个与阿达马变换有高度相关的快速沃尔什转换(fast Walsh–Hadamard transform,FWHTh)是一个十分有效率的算法,目的是计算阿达马变换。快速沃尔什转换是一个分而治之的算法,是一个常见的递回方法,将大小N的沃尔什转换拆成两个大小为N/2 的沃尔什转换。——百度百科参考博客:https://www.cnblogs.com/cjyy...原创 2019-07-11 21:26:05 · 223 阅读 · 0 评论 -
各进制整数的位数
十进制数n的位数log10(n)log_{10}(n)log10(n)以base为基数的进制数n的位数logbase(n)=log10(n)log10(base)log_{base}(n)=\cfrac{log_{10}(n)}{log_{10}(base)}logbase(n)=log10(base)log10(n)...原创 2019-07-11 16:06:00 · 274 阅读 · 0 评论 -
组合数学之容斥原理
翻译:vici@cust对容斥原理的描述容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率。描述 容斥原理可以描述如下: 要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,...转载 2019-07-14 14:48:23 · 2639 阅读 · 0 评论 -
组合数学之隔板法
转自隔板法详解理解隔板法【定义】隔板法就是在n个元素间的(n-1)个空中插入k个板,可以把n个元素分成k+1组的方法。应用隔板法必须满足3个条件: (1) 这n个元素必须互不相异;(2) 所分成的每一组至少分得1个元素;(3) 分成的组别彼此相异。【公式】把10个相同的小球放入3个不同的箱子,每个箱子至少一个,问有几种情况?C(n-1,m-1)=C(9.2)接下来才是重点...转载 2019-07-14 11:23:40 · 4120 阅读 · 0 评论 -
数学板块学习之生成函数
生成函数生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。生成函数的应用简单来说在于研究未知(通项)数列规律,用这种方法在给出递推式的情况下求出数列的通项,生成函数是推导Fibonacci数列的通项公式方法之一,另外组...原创 2019-07-14 11:17:04 · 528 阅读 · 0 评论 -
acm数论(数学)学习
总结?我又没学完,怎么总结的完,只能总结自己学过的原创 2019-06-04 15:03:57 · 744 阅读 · 0 评论 -
数学板块学习之博弈论
博弈论数学学习中,记录学习,退役前持续更新巴什博弈(Bash Game)问题模型:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次取1-m个,最后取光者胜。解决思路:当n=m+1时,由于一次最多只能取m个,所以无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜,所以当一方面对的局势是n%(m+1)=0时,其面临的是必败的局势。所以当n=(m+1)*r+s,(r为任意自然数...原创 2019-04-18 19:51:39 · 514 阅读 · 0 评论 -
判断一个数是否为2的次幂
判断一个数是否为2的次幂一个数n假设为2的次幂,转化为2进制后形式为1后面跟着一堆0,而n-1即为第一个1翻转为0,其他的0翻转为1.所以判断一个数是否为2的次幂,代码为if(n^(n-1) == 0){ cout<<"n是2的次幂"<<endl; } else{ cout<<"n不是2的次幂"<<...原创 2019-04-18 21:02:43 · 189 阅读 · 1 评论 -
数学板块学习之欧拉定理及拓展欧拉定理
持续更新ing欧拉函数对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。例如φ(8)=4,因为1,3,5,7均和8互质。欧拉函数公式:euler(x) = x*(1-1/p1)(1-1/p2)……(1-1/pn),p为x的质因数。性质:一个数x的所有质因数的和euler(n)*n/2欧拉数在n>2时,必定为偶数质数x的欧拉数为x-1 [phi(7) ...原创 2019-04-20 12:55:31 · 676 阅读 · 0 评论 -
约瑟夫环复杂度低的解法
约瑟夫环n个人从第k个开始报数,报到m的人出局,环形不断报数,求最后一个人的编号复杂度较高的解法,是O(n),O(nm)可以跳过约瑟夫环报数每个周期的等差数列,大大降低复杂度,这里只记录一下代码,别人的代码懒得写了,但是验证过了是正确的ll solve(ll n,ll k,ll s)//n人数,k报数周期,s报数起始位置{ if(k==1) return (n-1+s)%n; ...原创 2019-07-17 19:55:26 · 769 阅读 · 0 评论 -
数学板块学习之斯特林数
第一类斯特林数S(n,k)S(n,k)S(n,k)也写作(kn)\big(_{k}^{n}\big)(kn),表示将n个不同的元素分成k组,每组都是环形,分成的方案数环形例:1,2,3,4和4,1,2,3是同一个环形递推式:S(n,k)=S(n−1,k−1)+(n−1)S(n−1,k)S(n,k)=S(n-1,k-1)+(n-1)S(n-1,k)S(n,k)=S(n−1,k−1)+(n−...原创 2019-07-20 14:53:43 · 350 阅读 · 0 评论 -
大数模乘
大数模乘和慢速乘都可以用来防止两数相乘爆long long本来习惯用慢速乘的,但是今天被卡了慢速乘,改成大数模乘就过了。决定还是把这个记下来0.0long long mult(long long a,long long b,long long mod){ return (a*b-(long long)(a/(long double) mod * b + 1e-3)* mod + mo...原创 2019-09-21 13:19:08 · 436 阅读 · 0 评论 -
[SDOI2015] 约数个数和(莫比乌斯反演)
[SDOI2015] 约数个数和设d(x)为x的约数个数,给定N、M,求 ∑i=1N∑j=1Md(ij)\displaystyle\sum_{i=1}^N\displaystyle\sum_{j=1}^Md(ij)i=1∑Nj=1∑Md(ij)Input输入文件包含多组测试数据。第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。OutputT行,每行一个...原创 2019-08-28 20:08:54 · 171 阅读 · 0 评论 -
数学板块学习之离散对数(2)_Pohlig-Hellman
离散对数问题给出a,b,pa,b,pa,b,p,求解ax=b (mod p)a^x=b\ (mod\ \ p)ax=b (mod p),其中ppp是大素数,且p-1是光滑数光滑数:素因子都是小素数,例如素因子都小于7的叫7-smooth数Pohlig-Hellman该算法常用于密码学。我在国内网上真心找不到该算法。有也是用来求...原创 2019-08-12 21:40:59 · 1060 阅读 · 0 评论 -
数学板块学习之伯努利数
伯努利数生成函数定义方式O(nlogn)O(nlogn)O(nlogn)求伯努利数BiB_iBi为伯努利数数列其生成函数是B(x)=∑i=0Bixii!=xex−1B(x)=\displaystyle\sum_{i=0}B_i\cfrac{x^i}{i!}=\cfrac{x}{e^x-1}B(x)=i=0∑Bii!xi=ex−1x特殊的,当B1=12B_1=\cfrac{1}{...原创 2019-08-15 20:26:40 · 732 阅读 · 0 评论 -
模平方根/平方剩余
模平方根对于给定的奇质数ppp,和正整数xxx,存在yyy满足1≤y≤p−11\leq y\leq p-11≤y≤p−1,且x≡y2 (mod p)x\equiv y^2\ (mod\ \ p)x≡y2 (mod p),则称y为x的模平方根对于正整数m,若同余式x2≡a (mod m)x^2\equ...原创 2019-08-07 19:35:28 · 4910 阅读 · 0 评论 -
数学板块学习之离散对数(1)_Baby-Step Giant-Step
离散对数问题给出a,b,pa,b,pa,b,p,求解ax=b (mod n)a^x=b\ (mod\ \ n)ax=b (mod n)Baby-Step Giant-Step学习资料网上搜的,代码是kuangbin的,他的代码量是我见过(包括自己的)最小的。简称BSGS算法,(也叫北上广深算法)。复杂度O(n)O(\sqrt{...原创 2019-08-09 20:29:22 · 332 阅读 · 0 评论 -
数学板块学习之原根及其性质
原本就是学NTT的时候接触一下原根,没想到做题会单独遇到。。。还是再重新认真学一下原根。阶定义:设aaa为整数,mmm为正整数,且gcd(a,m)=1gcd(a,m)=1gcd(a,m)=1,则使at≡1 (mod m)a^t\equiv 1\ \ (mod\ \ m)at≡1 (mod m)成立的最小正整...原创 2019-08-06 19:44:47 · 1042 阅读 · 0 评论 -
费马平方和定理、拉格朗日四平方和定理和欧拉恒等式
费马平方和定理:奇质数能表示为两个平方数之和的充分必要条件是该质数被4除余11.如果两个整数都能表示为两个平方数之和的形式,则他们的积也能表示为两个平方数之和的形式。(a2+b2)(c2+d2)=a2c2+a2d2+b2c2+b2d2=(a2c2+b2d2−2abcd)+(a2d2+b2c2+2abcd)=(ac−bd)2+(ad+bc)2\begin{aligned}(a^2+b^2)(c^...原创 2019-08-06 14:31:10 · 1787 阅读 · 0 评论 -
数学板块学习之Min_25筛
看不明白,做不动,随着学随着记一记算法用于求取积性函数前缀和,时间复杂度O(n34lgn)O(\cfrac{n^{\frac{3}{4}}}{lg{n}})O(lgnn43),空间复杂度O(n)O(\sqrt{n})O(n)要求是积性函数f(i)f(i)f(i)在iii为质数时是多项式形式,并且在质数的幂数处能快速求得,即能快速求得f(piki)f(p_i^{k_i})f(piki)...原创 2019-07-30 21:00:19 · 149 阅读 · 0 评论 -
数学板块学习之卢卡斯定理及拓展卢卡斯定理
Cnm=n!m!(n−m)!C_n^m=\cfrac{n!}{m!(n-m)!}Cnm=m!(n−m)!n!n<106n<10^6n<106的时候是可以直接预处理阶乘及阶乘逆元来完成卢卡斯定理n过大时,求取组合数,组合数取模,模数p必须是质数,一般p要小于10710^7107Cnm=CnpmpCn%pm%p%pC_n^m=C_{\frac{n}{p}}...原创 2019-07-29 20:54:40 · 219 阅读 · 0 评论 -
数学板块学习之欧几里得与拓展欧几里得
更新ing欧几里得欧几里得算法: 又叫辗转相除法, 用于计算两个数的最大公约数, 在算最大公约数, 以及扩展欧几里得算法中都会用到int gcd(int a,int b){ return b == 0? a : gcd(b,a%b);}扩展欧几里得拓展欧几里得 求的是ax + by = gcd(a, b) 的值int gcd(int a,int b){ return...原创 2019-04-20 13:36:55 · 165 阅读 · 0 评论 -
数学板块学习之素数
素数模板1#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#include<math.h>#include<set>#include<stack>#include<vector>#incl...原创 2019-04-21 14:59:25 · 218 阅读 · 0 评论 -
快速读写与__int128
{ int x=0;bool t=false;char ch=getchar(); while((ch<'0'||ch>'9')&&ch!='-')ch=getchar(); if(ch=='-')t=true,ch=getchar(); while(ch<='9'&&ch>='0')x=x*10+ch-48,...原创 2019-04-21 21:23:08 · 384 阅读 · 0 评论 -
数学板块学习之杜教筛
杜教筛用于筛积性函数前缀和积性函数的判断:对于互质的p,qp,qp,q,满足f(pq)=f(p)f(q)f(pq)=f(p)f(q)f(pq)=f(p)f(q)例如我们要求的是S(n)=∑i=1nf(i)S(n)=\sum_{i=1}^{n}f(i)S(n)=∑i=1nf(i)构造两个积性函数使h=f∗gh=f*gh=f∗g(卷积操作)(找好求的h(n)h(n)h(n))∑i=1nh(i...原创 2019-05-18 11:34:28 · 139 阅读 · 0 评论 -
数学板块学习之FFT
FFTFFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。—baidu信息学竞赛中FFT用于快速求解多项式乘法,也就是卷积定义两个向量a,b,其中a=(a0,a1,⋯ ,an−1),b=(b0,b1,⋯&Thi...原创 2019-05-21 18:17:22 · 246 阅读 · 0 评论 -
多项式入门
这个博客写的还不错多项式乘法入门转载 2019-05-22 10:05:01 · 140 阅读 · 0 评论 -
数学板块学习之哥德巴赫猜想以及哥德巴赫猜想的拓展
哥德巴赫猜想:哥德巴赫猜想认为任一大于2的偶数,都可表示成两个素数之和拓展:任何一个大于5的奇数都可以表示为三个素数之和记一下,万一用到总比不知道的好~...原创 2019-05-22 17:34:20 · 217 阅读 · 0 评论 -
数学板块学习之数论中的某些定理
定理不分先后,纯粹是整理,不知道叫啥的就直接用数字表示了,不定时更新素数定理即π(n)\pi(n)π(n)为小于nnn的素数的个数,则limn→∞π(n)n/lnn=1\lim_{n\to\infty}\cfrac{\pi(n)}{n/\ln{n}}=1limn→∞n/lnnπ(n)=1定理1:设a>b,gcd(a,b)=1a>b,gcd(a,b)=1a...原创 2019-05-22 18:40:57 · 311 阅读 · 0 评论 -
数学板块学习之NTT
NTT快速数论变换(Number-Theoretic Transform,NTT),实际上就是模意义下的FFT。所以在看NTT前最好看一下上一篇FFT因为FFT在运算时是用的复数,涉及到了double,所以不可避免的会出现一定的精度问题。这个问题是最严重的,而其他的问题FFT也会有,比如数过大时,答案可能会超级大,所以取模又成了问题。首先FFT能够使用就是依靠ωn\omega_nωn的性...原创 2019-05-22 21:54:46 · 226 阅读 · 0 评论 -
数学板块学习之差分应用及正整数的k次幂求和
原地址防止这个放在文库里的文章会消失,所以截图放在这里,另外膜拜高中大佬转载 2019-05-27 13:42:53 · 586 阅读 · 0 评论 -
模拟退火算法
模拟退火算法具体解释就不详细说了,这里有大佬的博客https://www.cnblogs.com/ranjiewen/p/6084052.htmlhttps://blog.csdn.net/acdreamers/article/details/10019849只想说自己的理解。首先来讲模拟退火是一种随机算法,它是一种求取最优解的算法。改进了爬山算法可能会停在局部最优的弊端。(截自大佬...原创 2019-05-28 15:20:58 · 286 阅读 · 0 评论 -
数学板块学习之最小圆覆盖
最小圆覆盖留下三种方法模板以一个题为例Buried memory 1.求凸包后枚举凸包上的点。代码: #include <iostream>#include <algorithm>#include <cstdio>#include <queue>#include <cmath>#include <string&...原创 2019-05-29 18:37:39 · 290 阅读 · 0 评论 -
数学板块学习之任意模数NTT
任意模数NTT对于模数不是NTT用的模数,可以用多个NTT模数做NTT然后用CRT(中国剩余定理合并)一般我们用的三个NTT模数,998244353=223∗119+1,1004535809=221∗479+1,469762049=226∗7+1998244353=2^{23}*119+1,1004535809=2^{21}*479+1,469762049=2^{26}*7+199824435...原创 2019-06-03 20:14:58 · 308 阅读 · 0 评论 -
数学板块学习之概率与期望
更新ing期望期望E(x)E(x)E(x)表示如果X是离散型随机变量,输出值x1,x2,⋯x_1,x_2,\cdotsx1,x2,⋯并且输出值相应的概率分别为p1,p2,⋯p_1,p_2,\cdotsp1,p2,⋯,且概率pip_ipi的和为1,则期望E(x)=∑i=1nxipiE(x)=\sum_{i=1}^{n}x_ip_iE(x)=∑i=1nxipi概率基本概率公式:...原创 2019-05-15 19:26:44 · 301 阅读 · 0 评论 -
数学板块学习之因子个数及因子和
对于n=p1x1p2x2⋯ pkxkn=p_1^{x_1}p_2^{x_2}\cdots\ p_k^{x_k}n=p1x1p2x2⋯ pkxk有因子数:(x1+1)(x2+1)⋯(xk+1)=Πi=1k(xi+1)(x_1+1)(x_2+1)\cdots(x_k+1)=\Pi_{i=1}^{k}{(x_i+1)}(x1+1)(x2+1)⋯(xk+1)=Πi=...原创 2019-05-15 10:18:59 · 481 阅读 · 0 评论 -
数学板块学习之快速幂,快速积,矩阵快速幂
快速积ll qMuti(ll a,ll b,ll p){ ll ans = 0; a %= p; b %= p; if(b < 0){ a = -a,b = -b; } while(b){ if(b&1) ans = (ans+a)%p; b >>= 1; a...原创 2019-04-26 21:31:37 · 139 阅读 · 0 评论 -
数学板块学习之大素数检测Miller_Rabin算法
Miller_Rabin算法算法的两个基础理论:费马小定理:当 p 为质数,有 a^(p-1) ≡ 1(mod p),但是反过来不一定成立。二次探测:一个素数p,对于0<x<p,方程x^2 ≡ 1(mod p)的解为x = 1 或x = p-1.证明:Miller-Rabin素性测试算法详解代码模板:#include <iostream>#include ...原创 2019-04-27 15:29:37 · 337 阅读 · 0 评论