算法学习笔记
省选难度的算法学习笔记 by yjjr
yjjr
蒟蒻qwq
yangjijingru.com
展开
-
OI模板整理
本文章可能部分模板来自网上,若无意侵犯了您的权益,请电邮18056072060@163.com,将会及时删除 大概挖点坑,目前还缺少线段树(区间)、树套树、fingertree、退火、爬山,将会于近期补充 数据结构树状数组ll query(int x){ll re=0;for(int i=x;i;i-=i&-i)re+=t[i];return r...原创 2018-02-22 21:08:27 · 1635 阅读 · 0 评论 -
分块学习笔记
根号平衡根号类算法的前置技能大多是根号平衡有x次操作,单次复杂度为O(a)有y=kx次查询,单次复杂度为O(b)在满足一定条件的题里面可以通过提高其中一边的复杂度,降低另一边的复杂度来达到更好的效果这时有xa=kxb ==> 复杂度由ax+bkx=2x根号分类静态分块动态分块静态分块指的是放一些关键点,预处理关键点到关键点的信息来加速查询的,不能支持修改原创 2018-02-01 18:45:54 · 577 阅读 · 0 评论 -
组合数的求法总结
O(n^2)杨辉三角递推C(i,j)=C(i−1,j)+C(i−1,j−1)C(i,j)=C(i-1,j)+C(i-1,j-1)题目详见NOIP2016D2T1code for(int i=2;i<=maxn;i++) for(int j=2;j<i;j++) c[i][j]=(c[i-1][j]+c[i-1][j-1])%k; 利用乘法逆元乘原创 2018-01-02 18:04:47 · 1289 阅读 · 0 评论 -
LCT(Link Cut Tree)动态树学习笔记
动态树LCT就是支持Link,Cut操作的树形数据结构整体思想和树链剖分有些类似,每个点有一条实边(重边)与其儿子相连,剩下的都是虚边(轻边),然后用许多个splay来维护每条重链,记录splay中每个点的父亲节点,那么这个splay的根节点指向的是另一条链(对应的是虚边)下面是LCT的几种基本操作isroot判断这个节点是不是所处的splay的根,代码很显然//c[x][0]表示x节点的左儿子,c原创 2017-12-20 15:11:30 · 394 阅读 · 0 评论 -
平衡树学习笔记
noip前整个机房除了我都在学treap,都相信noip2017会考平衡树 可是我不相信 然而真的考了平衡树(非正解) 现在整个机房就我在学平衡树(其他人都是英才计划某大学教授的影响去搞开(xie)发(jiao)了,好好一门竞赛,全机房除了我和常老师都在搞开发,这什么情况qwq)非旋treap(fhq treap)我真的没有先学splay,第一个接...原创 2017-12-15 15:44:40 · 396 阅读 · 0 评论 -
算法竞赛中的数学问题和结论
notice:标注’*’号的章节在OI中具有实际用处直接在左边目录里寻找需要的部分就好了,本文较长Part 1算术基本定理唯一分解定理任一正整数均可分解为素数的乘积,且若不计顺序,此分解方式唯一。a=pa11∗pa22…∗panna=p_1^{a_1}*p_2^{a_2}…*p_n^{a_n}扩展a∗b=gcd(a,b)∗lcm(a,b)a*b=gcd(a,b)*lcm(a,b)最基本的不定方程定理原创 2017-12-04 21:53:29 · 1908 阅读 · 0 评论