随笔分类 -  wls的数据结构初级

摘要:#存储方式 字符集太大了,可以采用hash开字典树 log时间查询任意两个字符串的最大前缀 建字典树,然后查询lca #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 5e5+10; st 阅读全文
posted @ 2022-04-02 12:20 牛佳文 阅读(62) 评论(0) 推荐(0)
摘要:启发式合并 每次将较小的集合合并到较大的集合 按深度合并 每次将深度较小的集合合并到深度较大的集合 阅读全文
posted @ 2022-04-01 23:08 牛佳文 阅读(55) 评论(0) 推荐(0)
摘要:二叉树 树 树的直径:最长的一条路径 树的中心:一条树的直径的中心点 树的中心的性质:是到所有到其他点路径最长的最小值,也就是直径的一半上取整 并且树的中心是唯一确定的(树的直径的长度是偶数的话唯二) 树的重心:选一个节点,当成根节点,他的儿子的子树大小最大值最小,这个节点就是重心 性质:当重心是根 阅读全文
posted @ 2022-04-01 17:57 牛佳文 阅读(85) 评论(0) 推荐(0)
摘要:单调栈 // 求离某个元素最近的第一个比他大的或者比他小的元素的角标 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5+10; int q[N], hh = -1, a[N]; f 阅读全文
posted @ 2022-03-28 21:50 牛佳文 阅读(70) 评论(0) 推荐(0)
摘要:堆 没有.clear()操作 多路归并,mlogm #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 1e5+10; priorit 阅读全文
posted @ 2022-03-28 21:04 牛佳文 阅读(53) 评论(0) 推荐(0)