
知识点模板
yjjr
蒟蒻qwq
yangjijingru.com
展开
-
线段树模板(最简便)
线段树模板#include#define maxn 100000using namespace std;inline int read(){ int f=1,x=0;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getc原创 2017-08-24 14:38:22 · 263 阅读 · 0 评论 -
左偏树(可并堆)模板
注意:本模板不适用于洛谷3377当堆里有多个最小值时,优先删除原序列的靠前的,否则会影响后续操作1导致WA。本模板未判断原序列的位置前后(毕竟是模板,写的方便就可以了,个人觉得A掉洛谷的那个数据没有太大意义,所以就懒得写了)#include<iostream>#include<cstdio>#define rep(i,a,b) for(register int i=a;i<=b;i++)usi原创 2017-12-15 09:31:46 · 403 阅读 · 0 评论 -
splay模板(洛谷3391,BZOJ3223)
题目题目传送门Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 Input第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2……n-1,n) m表示翻转操作次数 接下来m行每行两个数[l,r] 数据保证 1<=l<=r<=n原创 2017-12-15 17:47:10 · 535 阅读 · 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 · 2025 阅读 · 0 评论 -
最大流模板(洛谷3376)
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#define rep(i,a,b) for(register int i=a;i<=b;i++)#define dep(i,a,b) for(register int i=a;i>=原创 2017-12-08 10:32:56 · 436 阅读 · 1 评论 -
组合数的求法总结
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 · 1349 阅读 · 0 评论 -
平衡树学习笔记
noip前整个机房除了我都在学treap,都相信noip2017会考平衡树 可是我不相信 然而真的考了平衡树(非正解) 现在整个机房就我在学平衡树(其他人都是英才计划某大学教授的影响去搞开(xie)发(jiao)了,好好一门竞赛,全机房除了我和常老师都在搞开发,这什么情况qwq)非旋treap(fhq treap)我真的没有先学splay,第一个接...原创 2017-12-15 15:44:40 · 424 阅读 · 0 评论 -
分块学习笔记
根号平衡根号类算法的前置技能大多是根号平衡有x次操作,单次复杂度为O(a)有y=kx次查询,单次复杂度为O(b)在满足一定条件的题里面可以通过提高其中一边的复杂度,降低另一边的复杂度来达到更好的效果这时有xa=kxb ==> 复杂度由ax+bkx=2x根号分类静态分块动态分块静态分块指的是放一些关键点,预处理关键点到关键点的信息来加速查询的,不能支持修改原创 2018-02-01 18:45:54 · 627 阅读 · 0 评论 -
HDU2222 Keywords Search
标签:AC自动机题目题目传送门DescriptionIn the modern time, Search engine came into the life of everybody like Google, Baidu, etc. Wiskey also wants to bring this feature to his image retrieval sys...原创 2018-02-24 16:34:54 · 156 阅读 · 0 评论 -
非旋转treap模板(fhq treap)(洛谷3369,BZOJ3224)
题目题目传送门Description您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) 6. 求x的后继(后继定义为大于x,且最小的数) Input第一行为n,表原创 2017-12-15 14:52:25 · 465 阅读 · 0 评论 -
最小费用最大流/费用流zkw算法模板(洛谷3381)
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#define rep(i,a,b) for(int i=a;i<=b;i++)#define dep(i,a,b) for(int i=a;i>=b;i--)#define ll原创 2017-12-12 10:38:21 · 715 阅读 · 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 · 427 阅读 · 0 评论 -
[ZJOI2007]棋盘制作(洛谷1169)
标签:悬线法,DP题目描述国际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳。而我们的主人公小Q,正是国际象棋的狂热爱好者。作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则。小Q找到了一张由N*M个正方原创 2017-10-01 22:59:42 · 321 阅读 · 0 评论 -
笛卡尔树
定义笛卡尔树是一种二叉搜索树的数据结构。树的每个节点有两个值,分别为key 和 value。Key类似于二叉搜索树,每个节点的左子树key值都要小于其本身,右子树的key值都比它大value类似堆,根节点的value是最小(或者最大)的,每个节点的value都比它的子树要小(或者大)。性质树中的元素满足二叉搜索树性质,要求按照中序遍历得到的序列为原数组序列树中节点满足堆性质原创 2017-09-26 11:14:47 · 1255 阅读 · 0 评论 -
洛谷3366 最小生成树模板题
#include#include#include#include#include#include#define rep(i,a,b) for(int i=a;i<=b;i++)#define dep(i,a,b) for(int i=a;i>=b;i--)#define ll long long#define mem(x,num) memset(x,num,sizeof x)#原创 2017-11-07 21:19:54 · 564 阅读 · 0 评论 -
BZOJ2015 [Usaco2010 Feb]Chocolate Giving
标签:最短路,SPFADescriptionFarmer John有B头奶牛(1 Input 第1行:三个整数:N,M,B。 第2..M+1行:每行三个整数:R_i,S_i和L_i,描述一条边的信息。 第M+2..M+B+1行:共B行,每行两个整数P_i和Q_i,表示住在P_i农场的奶牛送礼物给住在Q_i农场的奶牛。 Output 样例输出:原创 2017-11-08 10:31:40 · 1147 阅读 · 0 评论 -
BZOJ1191 [HNOI2006]超级英雄Hero
标签:二分图匹配Description现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个“锦囊妙计”,比如求助现场观众,或者去掉若干个错误答案(选择题)等等。 这里,原创 2017-11-07 22:45:21 · 326 阅读 · 0 评论 -
BZOJ2096 [Poi2010]Pilots
标签:单调队列DescriptionTz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值。耍畸形一个人是不行的,于是他找到了你。Input输入:第一行两个有空格隔开的整数k(0Output输出:最大的字串长度。Sample Input3 95 1 3 5原创 2017-11-08 09:31:51 · 473 阅读 · 0 评论 -
BZOJ1602 [Usaco2008 Oct]牧场行走
标签:树,LCADescriptionN头牛(2Input*第一行:两个被空格隔开的整数:N和Q *第二行到第n行:第i+1行有两个被空格隔开的整数:AI,BI,LI*第n+1行到n+Q行:每一行有两个空格隔开的整数:P1,P2,表示两头奶牛的编号。Output*第1行到第Q行:每行输出一个数,表示那两头奶牛之间的距离。Sample Input4 2原创 2017-11-10 09:55:57 · 564 阅读 · 0 评论 -
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 · 1721 阅读 · 0 评论