摘要:树状数组 作用: 动态地维护前缀和查询 Time complexity 修改一个数:$$o(lgn)$$ 查询一段区间和:$$o(lgn)$$ 实现过程 1 lowbit 返回一个数的二进制下末尾第一个1和后面的0构成的数 如11011000100 返回100=4 int lowbit(int x)
阅读全文
合集-高级数据结构
摘要:树状数组 作用: 动态地维护前缀和查询 Time complexity 修改一个数:$$o(lgn)$$ 查询一段区间和:$$o(lgn)$$ 实现过程 1 lowbit 返回一个数的二进制下末尾第一个1和后面的0构成的数 如11011000100 返回100=4 int lowbit(int x)
阅读全文
摘要:ST表 \(RMQ\),支持查询一个静态数组的区间最大值,不支持修改操作 预处理:\(o(n*lgn)\) 查询:\(o(1)\) 预处理 \(ST\)表的基本思想是倍增,预处理类似于区间\(dp\)问题 定义\(f[i][j]\)为从下标为\(i\)的元素开始,向后扩展\(2^{j}\)的距离的区
阅读全文
|