摘要: 哈希 简而言之,字符串哈希——字符串到整数的唯一映射 哈希只能加密不能解密,所以我们实质上要建立的是一个 单射,即能通过一个字符串得到一个唯一的数。 我们所常用的哈希是进制哈希:给出一个固定进制的数base,将一个字符串的 每一个元素看做一个进制位上的数字,所以这个字符串就可以看成一个base进制的 阅读全文
posted @ 2020-10-17 17:50 Allen_lml 阅读(169) 评论(4) 推荐(0) 编辑
摘要: 哈希 简而言之,字符串哈希——字符串到整数的唯一映射 哈希只能加密不能解密,所以我们实质上要建立的是一个 单射,即能通过一个字符串得到一个唯一的数。 我们所常用的哈希是进制哈希:给出一个固定进制的数base,将一个字符串的 每一个元素看做一个进制位上的数字,所以这个字符串就可以看成一个base进制的 阅读全文
posted @ 2020-10-17 17:47 Allen_lml 阅读(162) 评论(0) 推荐(0) 编辑
摘要: ` #include using namespace std; const int MOD(1000000000 + 7); const int Max_N(1000050); namespace io { const int SIZE = (1 << 21) + 1; char ibuf[SIZE 阅读全文
posted @ 2020-08-01 20:56 Allen_lml 阅读(91) 评论(0) 推荐(1) 编辑
摘要: 最近公共祖先LCA int LCA(int x,int y) { if(dep[x]<dep[y]) swap(x,y); int d=dep[x]-dep[y]; for(int p=0,k=1;p<k;p++,k<<=1) if(d&k) x=f[p][x]; if(x==y) return x 阅读全文
posted @ 2020-07-23 20:13 Allen_lml 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 树链剖分 void dfs1(int x) { sz[x]=1; for(int i=b[x];i;i=nxt[i]) { if(to[i]==f[x]) continue; f[to[i]]=x; dep[to[i]]=x; dep[to[i]]=dep[x]+1; dfs1(to[i]); sz 阅读全文
posted @ 2020-07-23 20:09 Allen_lml 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树 性质:一个节点x左子树所有点的关键字都比x的关键字小,右子树所有点的关键字都比x的关键字大 treap “树堆” “Tree+Heap” 性质:每个点随机分配一个权值,使treap同时满足堆性质和二叉搜索树性质 复杂度:期望O(logn) 设每个节点的关键字是key,随机权值是rand 阅读全文
posted @ 2020-07-21 20:02 Allen_lml 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 配对堆 一种可并堆。 插入、合并复杂度为O(1),删除等操作的复杂度为均摊O(logn)。 优点:代码短,常数小。 配对堆的结构 用左儿子右兄弟的方式存树。 对每个结点,储存其右兄弟和最左端的儿子。 操作 merge(x,y):合并以x,y为根的两个配对堆。若x,y中有空树则返回非空树,否则将节点大 阅读全文
posted @ 2020-07-18 21:04 Allen_lml 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 题目背景 矩阵快速幂 题目描述 给定 n \(\times\) n的矩阵A,求${A^k}$ 输入格式 第一行两个整数n,k接下来n行,每行n个整数,第i行的第j个数表示${A_{i,j}}$. 输出格式 输出${Ak}$ 共n行,每行n个数,第i行第j个数表示$\langle{Ak}\rangle 阅读全文
posted @ 2020-07-14 11:21 Allen_lml 阅读(117) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<cstdio> #include<queue> using namespace std; int dis[200001],head[200001]; int n,m,a,b,c,s,cnt; bool vis[200001]; struct e 阅读全文
posted @ 2020-06-23 20:27 Allen_lml 阅读(137) 评论(0) 推荐(0) 编辑
摘要: (a + b) % p = (a%p + b%p) %p (a - b) % p = ((a%p - b%p) + p) %p (a * b) % p = (a%p)*(b%p) %p 阅读全文
posted @ 2020-05-28 19:51 Allen_lml 阅读(131) 评论(0) 推荐(0) 编辑