主席树

Ayanami_Reii3 天前
数据结构·算法·线段树·主席树·持久化线段树
进阶数据结构应用-SPOJ 3267 D-query要求区间内有多少个不同数字, 可以这样考虑, 对于当前数字 t t t, 我们希望知道 t t t上一次出现的位置在哪, 假设是pre[t]
Assassin's Creed1 年前
c语言·数据结构·c++·算法·acm·主席树
2024江苏省赛E. Divide补题链接题目大意: 每次操作会把区间内最大值除以2,q次询问,问[l,r]操作k次后的结果是什么分析: 一道主席树的题目,可以先最整个区间一直进行除以2的操作,问区间[l,r]操作后结果,其实就可以转化为求区间第k+1大的结果,反转一下就是求区间第 s u m − k − 1 sum-k-1 sum−k−1小值,这样就是比较裸的主席树了,需要注意的是每次插入操作的时候,需要把数从 a [ i ] a[i] a[i]加入然后除以2,直到为0停止,至于版本的话就是索引 1 1 1到 n n n
rgw20101 年前
数据结构·动态规划·树上倍增·主席树·树链剖分·前缀优化
P10789 [NOI2024] 登山我们可以对于每个 \(i\) 找到它能跳到的最远的点和最近的点,倍增求一下 \(k\) 级祖先即可,令 \([l_i,r_i]\) 新表示 \(i\) 能跳到其祖先中深度在 \([l_i,r_i]\) 内的点;同时令 \(lim_i = d_i - h_i-1\) 表示 \(i\) 至少要跳到 \(lim_i\) 的深度。
邪神与厨二病2 年前
数据结构·算法·华为·线段树·动态规划·dijkstra·主席树
HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)(A,B,C,D,E,F,G)看不懂的英文,题意很难理解,这场还是有点难度的。C需要处理,D是不太明显的dijikstra,E是线段树优化dp,F是个不好想的线段树,主席树应该也能做。
我是有底线的