12 2018 档案
摘要:线段树 题意: 给定一个01串 要求支持两种操作: 1 区间 xor 2 区间求和 做法: 普通的线段树的求和 用 rev 表示该区间是否被 xor 因为 xor 两次就相当于没有 xor 所以当区间 xor 的时候 对 rev 取反, sum = 区间长度 sum code: cpp includ
阅读全文
摘要:线段树模板题 此题关键在于 pushdown 考虑加法标记 lt1 和 乘法标记 lt2 考虑到乘法优先级 要 高于 加法优先级 因此在 pushdown 里先 传 lt2 再传 lt1 注意 lt2 传的时候,两个儿子的 lt1 也都要乘上 lt2 code: cpp include define
阅读全文
摘要:st 表 和 分块 都可做 还跑得很快 然而我只会线段树 题目要求是线段树的插入操作 直接考虑建一棵足够大的线段树,插入操作就变成了 单点修改操作 剩下的查询直接查询$ (x \ \ L \ + \ 1, \ x )$ code:
阅读全文
摘要:平衡树练手题目 刚好学平衡树,这道题直接查询前驱和后继,然后比较差的绝对值即可 不要忘记删除 cpp include define pushup(u) if(u ls siz) u siz = u ls siz + u rs siz, u val = u rs val define new_Node
阅读全文

浙公网安备 33010602011771号