05 2023 档案
摘要:树状数组(Binary Indexed Tree)是一种利用数的二进制特征进行检索的树状结构。 树状数组是一种奇妙的数据结构,不仅非常高效,而且代码及其简洁。 #define lowbit(x) ((x)&-(x)) void add(int x,int d){//更新 while(x<=n){ t
阅读全文
摘要:让我们来一步一步理解! 以下是源于oiwiki的一些解释: 线段树通过将每个长度不为1的区间划分至左右两个区间。易得,时间复杂度为O(logn)相比树状数组其可操作性更强。 1.向上更新 void push_up(int rt){//向上更新 sum[rt] = sum[rt << 1] + sum
阅读全文
摘要:等我写完。 普通fhq treap: enum { Maxn = 1000005 }; struct FHQTreap { int lson[Maxn], rson[Maxn], data[Maxn]; int rnd[Maxn], sze[Maxn], root, tot, seed; FHQTr
阅读全文