竞赛算法
文章平均质量分 91
一些在竞赛中会用到的算法
Morning_Glory_JR
几时归去,做个闲人。对一张琴,一壶酒,一溪云。
展开
-
从零开始的莫比乌斯反演(函数)[详细推导]
前置技能学会莫比乌斯函数必须要先知道狄利克雷函数以及什么是逆元(一本正经胡说八道)几个定理① 定义单位函数I(n)=[n=1]I(n)=[n=1]I(n)=[n=1],即只有当n等于1时,I(1)=1I(1)=1I(1)=1,其余情况都为0② I∗f=fI * f=fI∗f=f③ 已知函数fff,定义函数fff的逆f−1f^{-1}f−1,满足f∗f−1=If * f^{-1}=If...原创 2019-01-23 21:44:31 · 2028 阅读 · 0 评论 -
杜教筛
[url=https://miao.su/image/iKkxA][img]https://miao.su/images/2019/08/12/76d87bf.jpg[/img][/url]也许更好的阅读体验文章目录作用与使用前提求法举例$\mu$$\varphi$作用与使用前提对一个积性函数fff,我们要求fff的前nnn项和SnS_nSn,并且要求在比线性复杂度更低的复杂度情况下求出...原创 2019-08-11 17:06:44 · 272 阅读 · 0 评论 -
二项式反演
也许更好的阅读体验表达若有f(n)=∑i=0n(ni)g(i)f(n)=\sum_{i=0}^n\binom{n}{i}g(i)f(n)=∑i=0n(in)g(i)则有g(n)=∑i=0n(−1)n−i(ni)f(i)g(n)=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}f(i)g(n)=∑i=0n(−1)n−i(in)f(i)证明g(n)=∑i=0n(−...原创 2019-08-09 14:58:53 · 578 阅读 · 0 评论 -
多项式
也许更好的阅读体验文章目录前置知识定义多项式的表示法系数表示法点值表示法多项式的基本运算加法乘法多项式的其它运算基本套路多项式求逆多项式求ln多项式exp多项式开方前置知识FFT牛顿迭代求导定义简单来说,形如a0x0+a1x1+a2x2+⋯+anxna_0x^0+a_1x^1+a_2x^2+\cdots+a_nx^na0x0+a1x1+a2x2+⋯+anxn,的代数表达式叫...原创 2019-08-07 20:52:28 · 2308 阅读 · 0 评论 -
后缀自动机相关
本篇博客主要讲一些自己的理解,不喜勿喷如有没有看懂的地方或者错误的地方,欢迎提问或者指出后缀自动机的图的理解ParentParentParent树上的节点与后缀自动机的节点完全一样,但是边 不一样从 根节点出发,能走出所有的子串,并只能走出子串endposendposendpos是一个集合,表示一个串出现的所有位置,以最后一个字符所在位置为出现位置rightrightright...原创 2019-08-03 15:46:18 · 350 阅读 · 0 评论 -
泰勒公式与牛顿迭代
也许更好的阅读体验文章目录泰勒(Taylor)公式$e^x$的泰勒展开牛顿迭代泰勒(Taylor)公式f(x)=∑i=0∞f(i)(x0)i!(x−x0)i\begin{aligned}f\left( x\right) =\sum ^{\infty }_{i=0}\dfrac {f^{(i)}\left( x_{0}\right) }{i!}\left( x-x_{0}\right) ^{i...原创 2019-08-06 20:46:24 · 1327 阅读 · 0 评论 -
生成函数
一般生成函数(OGF)引入考虑一类组合对象组成的集合AAA,其中:每个元素a∈Aa\in Aa∈A都被定义了“大小”∣a∣|a|∣a∣,它是一个非负整数。对于给定的nnn,大小为nnn的元素的数量是有限的,记作AnA_nAneg. AAA是全体010101串组成的集合,一个010101串的大小被定义为它的长度则An=2nA_n=2^nAn=2n定义A(x)=∑i=0∞Aixi...原创 2019-08-07 18:29:28 · 671 阅读 · 0 评论 -
期望DP
转移方程几种常见设转移方程数组的方法设f[i]f[i]f[i]表示的是变成由iii状态变成 最终 状态的期望按照题意直接设把选择的东西加入数组,如f[i][j]f[i][j]f[i][j]表示第iii个物品选jjj个的期望或f[i][j]f[i][j]f[i][j]表示有iii个AAA物品,jjj个BBB物品的期望求转移方程应优先考虑进行操作后当前状态会怎么样,而不是如何变成当前状...原创 2019-07-22 20:00:52 · 1110 阅读 · 0 评论 -
求导与积分
也许更好的阅读体验这里不会详细讲导数,只贴最基本导数和有关多项式的导数表示法x′x'x′表示对xxx进行111阶求导x′′x''x′′表示对xxx进行222阶求导xxx上面有几个′'′表示对xxx进行几阶求导x(i)x^{(i)}x(i)表示对xxx进行iii阶求导求导axbax^baxb求导变成abxb−1a...原创 2019-08-07 20:11:44 · 4288 阅读 · 0 评论 -
中国剩余定理和扩展中国剩余定理
也许更好的阅读体验文章目录前置知识中国剩余定理(CRT)目的求法Code扩展中国剩余定理(EXCRT)目的解法code前置知识快速乘扩展欧几里得定理同余方程中国剩余定理(CRT)目的求最小的正整数xxx,使其满足{x≡a1(mod m)x≡a2(mod m2)⋮x≡an(mod mn)\begin{cases}x\equiv a_{1}\left...原创 2019-08-17 17:00:21 · 395 阅读 · 0 评论 -
简单易懂的KMP算法
隔了一年半,很多算法都忘了,复习一遍KMP的作用学一个算法,首先要知道这个算法是用来做什么的KMP的作用是字符串匹配,即在一个字符串(t)里查找某特定字符串(s)的位置以及次数比如t="abcabcdabca",s="abca"t="abcabcdabca",s="abca"t="abcabcdabca",s="abca"当然,最简单的方法就是枚举法,以t的从左到右第n个字母为起点看长度为4的字符串是不是和s一样而KMP则是优化这个方法KMP匹配原理当我们匹配上述两个字符串时发现...原创 2021-07-22 17:29:19 · 263 阅读 · 0 评论 -
树状数组[区间修改,区间查询]
也许更好的阅读体验好东西,以后可以不打线段树了本篇假定读者都会最基础的两种树状数组,即区改单查和单改区查思考如何维护一个区间的值,想到了差分对一个查分数组做一次前缀和可以得到每个位置的值再对每个位置累加一下就是一个区间的值公式化的讲,就是设差分数组为ccc则每个位置的值vali=∑j=1icjval_i=\sum\limits_{j=1}^ic_jvali=j=1∑icj...原创 2019-11-01 19:59:04 · 729 阅读 · 0 评论 -
卡特兰(Catalan)数入门详解
基本概念介绍学卡特兰数我觉得可能比组合数要难一点,因为组合数可以很明确的告诉你那个公式是在干什么,而卡特兰数却像是在用大量例子来解释什么时卡特兰数这里,我对卡特兰数做一点自己的理解卡特兰数是一个在组合数学里经常出现的一个数列,它并没有一个具体的意义,却是一个十分常见的数学规律对卡特兰数的初步理解:有一些操作,这些操作有着一定的限制,如一种操作数不能超过另外一种操作数,或者两种操作不能有交...原创 2019-10-27 15:41:59 · 7893 阅读 · 6 评论 -
网络流与二分图之最大独立集问题
最大独立集问题: 在N个点的图G中选出m个点,使这m个点两两之间没有边.求m最大值.(如果图G满足二分图条件)可以用二分图匹配来做,也可用网络流解决. 答案等于总点数-最大匹配数证明:设M为总点集,S为最大独立集,B为最大匹配中的点集|X|为点集X的点数有|S|>=|M|-|B|/2 |B|/2为最大匹配数证明:如果是完美匹配就不用说了|S|=|M|-|B|/2首先有 |...原创 2019-04-19 22:44:29 · 899 阅读 · 0 评论 -
FFT中的一个常见小问题(递推式)
FFT中的一个常见小问题这里不细说FFT的内容,详细内容看这些就足以了解大概了小学生都能看懂的FFT!!!FFT详解补充——FFT中的二进制翻转问题主要是对学习过程中一个容易困扰的小问题进行解释,以便于理解用FFT将多项式的系数转换为点值时,原系数数组a最后存的是不同的点值,而不是只有第一个是点值这一点最开始困扰了我很久设 A(x)=a0+a1x+a2x2+...+an−1...原创 2019-01-17 18:02:19 · 424 阅读 · 0 评论 -
斐波那契相关
也许更好的阅读体验文章目录前言通项公式负项数有趣的东西前言考试的时候考了到斐波那契的题,于是咱自己推了一些好玩的东西,后来又听dalao讲了些感觉挺有用的东西通项公式f0=0 f1=1 f2=1 fn=fn−1+fn−2f_0=0\ \ \ f_1=1\ \ \ \ f_2=1\ \\ f_n=f_...原创 2019-08-01 19:39:54 · 251 阅读 · 0 评论 -
Polya定理与Burnside引理
Burnside引理公式L=1∣G∣∑i=1∣G∣DGiL=\frac{1}{|G|}\sum_{i=1}^{|G|}D_{G_i}L=∣G∣1∑i=1∣G∣DGi一些定义EiE_iEi 表示与iii同类的方案 ZiZ_iZi 表示使iii不变的置换GGG 表示所有的置换方法DiD_iDi 表示第iii种置换能使多少方案不变nnn 表示方案总数LLL 表示本...原创 2019-06-29 11:11:03 · 368 阅读 · 0 评论 -
三元环计数
也许更好的阅读体验问题描述给一张nnn个点,mmm条边的简单无向图,求解有多少个三元环三元环:一个三元组(i,j,k)\left(i,j,k\right)(i,j,k)表示三个点,要求存在边(i,j),(i,k),(j,k)\left(i,j\right),\left(i,k\right),\left(j,k\right)(i,j),(i,k),(j,k)解决方法定义点的大小我们先把...原创 2019-08-09 20:36:13 · 768 阅读 · 0 评论 -
有重复数字的不重复全排列
Description\mathcal{Description}Description如标题 给一堆数,问其全排列有多少种例1 1 2 这三个数只有3种全排列分别为1 1 21 2 12 1 11\ 1\ 2\\ 1\ 2\ 1\\ 2\ 1\ 11 1 21 2 12 1&n...原创 2019-07-29 19:56:34 · 1158 阅读 · 0 评论 -
String 的成员函数
本篇是把一些string的成员函数的用法记录下来 size()函数和lenth()函数 s.size()或者s.lenth() 它们都会返回长度,是总长度而不是下标长度 find函数 ...原创 2018-07-03 11:38:20 · 292 阅读 · 0 评论 -
求1到n的质数个数和O(n)
我们知道:对于一个合数xxx 有x=p1a1∗p2a2∗...∗pnanx=p^{a_1}_1*p^{a_2}_2*...*p^{a_n}_nx=p1a1∗p2a2∗...∗pnan现在给出一个nnn 求x∈[1,n]x\in[1,n]x∈[1,n],所有xxx分解出的ppp的幂数和例如n=12n=12n=122=212=2^12=...原创 2019-06-01 21:22:53 · 1362 阅读 · 0 评论 -
string的赋值
string的赋值string s1="123456";一: 只能在刚开始定义的时候用(1) 从后往前赋值 string s2(s1,3); 结果:s2="456"(2) 从某位置开始往后赋值 string s2(s1,0,3); 结果:s2="123"(3) 连续赋值1个字符(注:是一个字符!)...原创 2018-06-30 10:57:24 · 1904 阅读 · 0 评论 -
浅谈扩展欧几里得定理(附裴蜀定理)
关于扩展欧几里得定理 众所周知,扩展欧几里得定理是用来求形如(a,b,c皆为整数)这样的方程的一组解[注,仅是一组解]的定理 它的原理比较复杂,本人学了挺久才懂了一点,这里就不谈了,扩欧的核心是它的思想,它的思想可以用来解决许多题该方程有解的条件 : 要使(a,b,c皆为整数) 有解,我们设k=gcd(a,b...原创 2018-08-11 20:06:58 · 2286 阅读 · 1 评论 -
关于快速幂
关于快速幂这次学习了下快速幂,所以来总结一下快速幂,从字面意思就知道是快速的算出幂次方我们先看试题a^b%m(快速幂取模) a^b%m呢,如果靠死算的话不仅慢而且就连long long也会爆掉所以就需要靠数学来总结个简单点的方法出来下面是公式 ...原创 2018-06-30 16:04:46 · 317 阅读 · 0 评论 -
线性求逆元
线性求逆元暴力算的逆元ax%p == 1 ,x叫a%p下的逆元线性求逆元求第i个逆元的时候设p = ki + r (r<i,1<i<p)可以得出ki + r ≡ 0 mod p (p mod p)设i’为i的逆元,r’为r的逆元 (头上带’表示逆元)两边同时乘以i’,r’得到 kr’ + i’ ≡原创 2018-11-02 15:24:59 · 254 阅读 · 0 评论 -
异或
对于有异或的题目要记住这点每个二进制位是独立计算答案的我们只需知...原创 2019-06-12 18:09:45 · 598 阅读 · 0 评论 -
大整数类型!
下面是本人自己做的一个大整数类型,需要的可以拿走用,可以节约很多时间,用的时候注意没有负数,想要练习重载运算符也可以看一下,有不好的地方或者不懂得地方可以在下方留言提问(最新更新时间2018.11.2)#include <bits/stdc++.h>using namespace std;//该Int 类型只能 ++i,不能i++//不支持负数运算 st...原创 2018-10-14 21:00:56 · 677 阅读 · 0 评论 -
BSGS和EXBSGS
也许更好的阅读体验文章目录$Description$$BSGS$$EXBSGS$$Code$DescriptionDescriptionDescription给定a,b,pa,b,pa,b,p,求一个xxx使其满足ax≡b (mod p)a^x\equiv b\ \left(mod\ p\right)ax≡b (mod p)BSGSBSGSBSGS...原创 2019-09-29 21:03:26 · 280 阅读 · 0 评论