其他-模板
醉语梦
“These are the night that never die”
展开
-
P3369 【模板】普通平衡树 (splay 模板)
题目描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入x数删除x数(若有多个相同的数,因只删除一个)查询x数的排名(排名定义为比当前数小的数的个数+1。若有多个相同的数,因输出最小的排名)查询排名为x的数求x的前驱(前驱定义为小于x,且最大的数)求x的后继(后继定义为大于x,且最小的数) 输入输出格式输入格式: 第一行为n,表示...原创 2018-02-11 23:50:59 · 257 阅读 · 0 评论 -
[模板] zkw线段树
zkw线段树 code1简单版本 code2差分版本(暂无) code1:(有注释)//By Menteur_Hxy#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int MAX=100...原创 2018-04-12 00:59:22 · 151 阅读 · 0 评论 -
【模板】最大流模板(dinic)
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流。输入输出格式 输入格式: 第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含三个正整数ui、vi、wi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi)输出格式: 一行,包含一个正整数,即为该网络的最大流。输入输出样例 输入样...原创 2018-04-12 01:03:20 · 141 阅读 · 0 评论 -
【模板】 最大流模板(ISAP)
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流。输入输出格式 输入格式: 第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含三个正整数ui、vi、wi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi)输出格式: 一行,包含一个正整数,即为该网络的最大流。输入输出样例 输入样...原创 2018-04-12 23:30:37 · 115 阅读 · 0 评论 -
【LibreOJ 6277】数列分块入门 1 (分块)
emmm…学下分块~ 区间:数列中连续一段的元素 区间操作:将某个区间[a,b]的所有元素进行某种改动的操作 块:我们将数列划分成若干个不相交的区间,每个区间称为一个块 整块:在一个区间操作时,完整包含于区间的块 不完整的块:在一个区间操作时,只有部分包含于区间的块,即区间左右端点所在的两个块给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 时间复杂度取决于你分块的...原创 2018-04-13 00:54:08 · 396 阅读 · 0 评论 -
【LibreOJ 6278】 数列分块入门 2 (分块)
题目原址给出一个长为n的数列,以及n个操作,操作涉及区间加法,询问区间内小于某个值x的元素个数。code:#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<vector>#include<algorithm&...原创 2018-04-13 00:59:49 · 740 阅读 · 0 评论 -
【模板】 非旋转treap
模板:luogu P3369 【模板】普通平衡树 code:#include <cstdio>#include <cstdlib>const int MAX_N=100010;int rd() { int x=0,fla=1; char c=' '; while(c<'0' or c>'9') {c=getchar();if(c==...原创 2018-05-01 22:03:16 · 175 阅读 · 0 评论 -
【模板】 归并排序
递归版本:(空间贼大)//Menteur_Hxy#include <cstdio>#include <iostream>#include <algorithm>#define ll long long#define f(a,b,c) for(register int a=(b);a<=(c);a++)using namespace st...原创 2018-05-02 23:11:45 · 114 阅读 · 0 评论 -
[luogu P2590 ZJOI2008] 树的统计 (树链剖分)
题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I. CHANGE u t : 把结点u的权值改为tII. QMAX u v: 询问从点u到点v的路径上的节点的最大权值III. QSUM u v: 询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身输入输出格式 输入...原创 2018-04-27 21:48:03 · 130 阅读 · 0 评论 -
【模板】 素数、欧拉数、莫比乌斯函数小结
二话不说上代码:(如果有错误欢迎指出)//By Menteur_Hxy#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int rd() { int x...原创 2018-04-14 15:19:22 · 193 阅读 · 0 评论 -
P3378 【模板】堆
题目描述如题,初始小根堆为空,我们需要支持以下3种操作:操作1: 1 x 表示将x插入到堆中操作2: 2 输出该小根堆内的最小数操作3: 3 删除该小根堆内的最小数输入输出格式输入格式: 第一行包含一个整数N,表示操作的个数接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:操作1: 1 x操作2: 2操作3: 3输出格式: 包含若干行正整...原创 2018-01-25 17:57:59 · 388 阅读 · 0 评论 -
P3375 【模板】KMP字符串匹配 (KMP模板)
题目描述如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。为了减少骗分的情况,接下来还要输出子串的前缀数组next。(如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。)输入输出格式输入格式: 第一行为一个字符串,即为s1第二行为一个字符串,即为s2输出格式: 若干行,每行包含一个整数,表示s2在s1中出现...原创 2018-02-12 23:25:40 · 571 阅读 · 0 评论 -
高精——模板
紫书:#include <iostream> #include <string> #include <cstring> #include <cstdio> using namespace std; const int maxn = 1000; struct bign{ int d[maxn], len;...转载 2018-02-21 18:44:59 · 176 阅读 · 0 评论 -
对拍模板
将文件放在一个文件夹,执行test即可 creatrand:#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int n,m,k;int main(){ freopen("in.txt","w",stdout); srand(time(0)...原创 2018-02-24 10:36:23 · 138 阅读 · 0 评论 -
学习笔记——ST表
作用:给定一个数列 ai O(nlogn) 预处理 O(1) 查询区间最值实现:定义f(i,j) 为ai开始,包括ai的连续2^j个元素的最值 下面以最大值为例: f(i,j)表示max{ak}(k∈[i,i+2^j)). 利用倍增: f[i][j]={aimax(f[i][j−1],f[i+2j−1][j−1])j=0j>0{aij=0max(f[...原创 2018-02-12 20:44:17 · 473 阅读 · 0 评论 -
LCA 最近公共祖先 (笔记、模板)
求lca的方法大体有三种: 1.dfs+RMQ(线段树 ST表什么的) 在线 2.倍增 在线 3.tarjan 离线ps:离线:所有查询全输入后一次解决 在线:有一个查询输出一次 以下模板题为 洛谷 P3379 【模板】最近公共祖先(LCA)1.首先dfs求出1>dfs遍历时经过的所有节点的位置 2>每个节点第一次出现的位置 3>每个节点的深...原创 2018-02-25 09:05:18 · 430 阅读 · 0 评论 -
【模板】manacher算法
题目描述 给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度.字符串长度为n输入输出格式 输入格式: 一行小写英文字符a,b,c…y,z组成的字符串S输出格式: 一个整数表示答案输入输出样例 输入样例#1: aaa 输出样例#1: 3 说明 字符串长度len <= 11000000//By Menteur_Hxy...原创 2018-03-14 13:00:11 · 122 阅读 · 0 评论 -
[luogu P1962] 斐波那契数列(带快速幂矩阵乘法模板)
题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列:• f(1) = 1• f(2) = 1• f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)题目描述 请你求出 f(n) mod 1000000007 的值。输入输出格式 输入格式: ·第 1 行:一个整数 n输出格式: 第 1 行: f(n) mod 1000000007 的...原创 2018-03-30 14:06:59 · 217 阅读 · 0 评论 -
[POJ2104] K – th Number (可持久化线段树 主席树)
题目背景 这是个非常经典的主席树入门题——静态区间第K小数据已经过加强,请使用主席树。同时请注意常数优化题目描述 如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。输入输出格式 输入格式: 第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。第二行包含N个正整数,表示这个序列各项的数字。接下来M行每行包含三个整数 l, r, kl,r,k...原创 2018-04-28 22:11:44 · 171 阅读 · 0 评论