学习笔记
文章平均质量分 75
35point5
这个作者很懒,什么都没留下…
展开
-
可持久化线段树(主席树)学习笔记
0x00写在前面在接触可持久化线段树前一直以为这是一个高大上的东西,非常复杂.但是在学习之后才发现它远比想象中容易,甚至比线段树还简单,所以学的时候不要有心理压力.0x01从一道题开始洛谷P3834 题意:给你一个序列,多次询问区间第k大的数是多少(序列长度与询问个数为1e5级别) 可以考虑这样一种算法:对于每个前缀[1,i][1,i][1,i]维护一颗权值线段树,每次询问[l...原创 2018-04-15 16:10:26 · 221 阅读 · 0 评论 -
后缀排序学习笔记
建议参考:后缀数组——处理字符串的有力工具 后缀排序即对一个字符串的每一个后缀进行排序,如果暴力进行排序,考虑到字符串比较的复杂度,效率至少是O(n2)O(n2)O(n^2)级别的. 考虑依次对每个位置开始的2i2i2^i个字符进行分组,把他们看成一个字符串,从小到大枚举iii进行处理,sj,j+2i−1sj,j+2i−1s_{j,j+2^i-1}的排名即(sj,j+2i−1−1+sj+2i−...原创 2018-08-27 10:40:30 · 1490 阅读 · 0 评论 -
(扩展)BSGS学习笔记
现有同余方程 ax≡b(mod p)ax≡b(mod p)a^x\equiv b(mod\space p) 其中(a,p)=1(a,p)=1(a,p)=1 如果暴力枚举xxx的话,根据欧拉定理 aφ(p)≡1(mod p)aφ(p)≡1(mod p)a^{\varphi(p)}\equiv 1(mod\space p) 效率是O(p)O(p)O(p...原创 2018-08-23 23:19:55 · 189 阅读 · 0 评论 -
左偏树学习笔记
洛谷P3377 【模板】左偏树(可并堆) 设dpidpidp_i为点iii的子树中深度最大的点的深度,则左偏树满足性质dplson>dprsondplson>dprsondp_{lson}>dp_{rson},因此我们在合并两棵左偏树x,yx,yx,y(xxx应该在yyy上方)的时候,就递归地将xxx的右儿子和yyy合并,这样可以快速达到空节点.struct leftist_...原创 2018-08-10 21:22:45 · 82 阅读 · 0 评论 -
Link_Cut_Tree学习笔记
洛谷P2147 [SDOI2008]洞穴勘测 LCT用来维护若干棵无根树,使用伸展树来实现.每棵伸展树维护原树上的一条重链,一棵伸展树中的根节点(非原树的根)的父亲单向指向另一棵伸展树中的它原树中该重链起始点的父亲节点.struct lct{ data tr[maxn]; void init() { LL i; fo(i,0,n)...原创 2018-08-14 07:56:23 · 129 阅读 · 0 评论