
可持久化数据结构
CCloth
这个作者很懒,什么都没留下…
展开
-
[卡空间][可持久化线段树]Couriers LibreOJ2432
给定长度为 n 的正整数序列。有 m 组查询,每次查询区间 [a,b] 中出现次数严格大于一半的数。即:出现次数大于等于(b-a+1)/2+1的数。Input第一行两个整数 n,m (1 ≤ n,m ≤ 500000),表示序列的长度和询问的个数。接下来一行 n 个整数 p1, p2, …, pn (1 ≤ pi ≤ n),表示该序列。接下来 m 行,每行两个整数 a,b (1 ≤ a ≤ b ≤ n),表示查询从第 a 个数到第 b 个数之间(包括两个数本身)出现次数严格大于一半的数,原创 2022-04-02 20:58:51 · 318 阅读 · 0 评论 -
可持久化线段树总结
一、可持久化线段树其实是由不同版本的线段树组成的。二、第i棵线段树就是前i个点的权值线段树。三、对于一个新版本的线段树只有logn个结点发生了变化,所以只需要新开logn个结点。四、普通可持久化线段树只能解决静态问题,如果涉及修改结点值需要用到树套树。以255. 第K小数为例,放一个模板:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>原创 2022-04-02 19:05:40 · 565 阅读 · 0 评论