摘要: namespace SegmentTree { #define ls (o << 1) #define rs (o << 1 | 1) ll bse[3] = {13, 1331, 2333}; ll mod[3] = {998244353, 1000000007, 1000000009}; ll 阅读全文
posted @ 2020-11-26 22:34 purinliang 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 新模板,使用了模板和默认值、幺元等,分离node中的数据维护部分。当维护的数据与l,r有关时,节点内需要存l,r,可能导致空间开销比较大。当query的merge的成本太高时,不能用下面这个模板,必须用旧模板。旧模板中query的流程和每个节点中的数据相关,也就是说query是可以理解sum[u]和 阅读全文
posted @ 2020-11-26 22:22 purinliang 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 并查集 对并查集及其常见的扩展的介绍,以及模板的梳理,部分模板可能没有经过实际验证?要多想一想是不是正确的。 TODO:搭建配套的测试代码和用例,用一个已知正确的暴力代码/验证过的并查集代码对拍出正确的答案,然后保存到git中用脚本进行自动化测试。 Completed in November 202 阅读全文
posted @ 2020-11-26 21:17 purinliang 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 维护翻转操作 struct Treap { private: static const int MAXN = 200000 + 10; int ls[MAXN], rs[MAXN]; int rnd[MAXN], siz[MAXN]; int del[MAXN], dnt; int cnt, roo 阅读全文
posted @ 2020-11-26 20:15 purinliang 阅读(137) 评论(0) 推荐(0) 编辑