
主席树
文章平均质量分 61
__LazyCat__
老子打的就是精锐
展开
-
Codeforces Round #675 (Div. 2)F. Boring Queries
区间 lcm(区间更新,单点查询可持久化线段树)链接:Problem - F - Codeforces题意:给定序列 a,求多次询问区间 [l,r][l,r][l,r] 的 lcmlcmlcm,强制在线。题解:考虑非强制在线的做法,将所有询问排序,对于区间右端点为 r 的点,处理其所有左端点 lil_{i}li,可以用线段树来维护区间乘积,然后查询各个区间的乘积即可。考虑 lcmlcmlcm 本质上是求出所有质因子的最大次幂的乘积,由于左端点越靠前区间越长,则所有质因子的次方只会只增不减,答案会越大原创 2022-02-22 14:41:42 · 201 阅读 · 0 评论 -
[CQOI2015]任务查询系统
区间包含点前k大问题链接:[P3168 CQOI2015]任务查询系统 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)题意:给定多个区间,每个区间有权值 qiq_{i}qi。多次询问经过点 x 的所有区间前 k 小权值的和。题解:把区间当作两个括号(左括号,右括号),假设题目所求的是区间经过从 x 到结束的前 k 小权值和,那么其实维护右括号即可,按序列长度为时间轴建主席树,按右括号位置插入对应前缀,每次继承上一个时间点或当前时间点建树。查大于等于 x 的点只需要最后一棵树减去第原创 2022-02-01 18:38:35 · 559 阅读 · 0 评论 -
[JSOI2015]字符串树
可持久化 trie链接:[P6088 JSOI2015]字符串树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)题意:给定一棵树,边权为字符串,多次询问路径 u 到 v 经过的所有边的所有字符串有多少个前缀是 w。题解:可持久化字典树维护,每次求 $u,v $ 的 lcalcalca,然后分两段查询相加即可。//#pragma GCC optimize("O3")//#pragma GCC optimize("unroll-loops")#include<iostream原创 2022-01-27 17:18:32 · 660 阅读 · 0 评论 -
[SDOI2013]森林
树上主席树+启发式合并原创 2022-01-27 15:16:14 · 299 阅读 · 0 评论 -
「SCOI2016」美味题解
主席树与按位查询原创 2022-01-26 22:52:28 · 530 阅读 · 0 评论 -
牛客挑战赛48 E 速度即转发(树套树)
链接:E-速度即转发_牛客挑战赛48 (nowcoder.com)题意:给定长度为 nnn 的序列 aaa ,共进行 mmm 次操作,有两种操作:1.给定 l,r,kl,r,kl,r,k,查询区间内满足 S(x)>=kS(x)>=kS(x)>=k 的最大 x(x∈[0,105])x(x \in [0,10^5])x(x∈[0,105]) ,S函数定义为 S(x)=∑i=lrmax(ai−x,0)S(x)=\sum_{i=l}^{r} \max(a_{i}-x,0)S(x)=∑i=lr原创 2021-11-09 02:23:41 · 214 阅读 · 1 评论