摘要: 嘟嘟嘟 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成$L$和$R + 1$两个时间点,然后按时间排序,遇到$L$就把对应的优先级$+1 阅读全文
posted @ 2018-12-04 22:19 mrclr 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 某谷链接 发一篇博客记录一下主席树板子。 别忘了输出原数组中的元素,而不是离散化后的。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<cstdlib 阅读全文
posted @ 2018-12-04 16:57 mrclr 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 嗯。 splay维护哈希。 如题,用splay维护哈希,查找的时候二分。所以复杂度是取决于询问复杂度:\(O(n \log^ 2{n})\)。 这道题还有一个技巧,就是一个节点记录的是他的子树的哈希值,所以树的的形态改变的同时,每一个节点记录的哈希值也在改变。在pushup的时候,应该这么写 阅读全文
posted @ 2018-12-04 15:49 mrclr 阅读(210) 评论(0) 推荐(0) 编辑