摘要:
题目链接:https://vjudge.net/contest/332656#problem/D 思路:因为根号运算n衰减的很快,所以在极少数的操作内它就会变成1,所以当整个区间内的值都变成1时直接返回,反之暴力更新叶子结点就好 阅读全文
摘要:
浅谈可持久化线段树--主席树 权值线段树 权值线段树和普通线段树不一样的地方就是在于 它的结点存储的是区间内数的个数 这个线段树的好处就在于我们可以根据 左子树 和 右子树 的大小从而进行 查找某个数的排名 或者 查找排名为rk的数 可持久化的含义 可持久数据结构主要指的是我们可以查询历史版本的情况 阅读全文
摘要:
区间的操作最主要的地方就是把 split 操作从按权值分裂 改成了 按大小分裂 我们把 大小 == k 放在一棵树,然后其余的放在另一棵树 阅读全文
摘要:
其实二叉平衡树就是通过各种奇异的操作从而维持二叉树的平衡 fhq Treap特殊就特殊在它并没有像其他性能非常优越的平衡二叉树一样是通过旋转从而实现二叉树的平衡 fhq Treap的核心操作其实就两个 分裂 和 合并 分裂 分裂就是把一棵二叉平衡树 分成两个二叉平衡树, 左边的二叉平衡树的所有点的权 阅读全文
摘要:
优雅即是暴力! 替罪羊树的构建其实就是暴力的构建。 -> 即每次插入的时候我们都判断是否需要重构。 要注意什么什么时候传的是一个引用,什么时候不需要传引用 阅读全文
摘要:
题目链接:https://www.luogu.org/problem/P2486 思路: 首先我们看到颜色的个数,然后又是一个树上的操作很自然而然的就会想到树链剖分 但是会遇到一个问题,那就是题目并不是直接给你染色颜色的个数的,所以我们先要预处理得到颜色个数 首先我们分情况进行讨论: 第一种情况: 阅读全文
摘要:
题目链接:https://www.luogu.org/problem/P4092 感觉这个题目和前面做的黑白染色的很像,思路都是差不多的吧。 阅读全文
摘要:
题目链接:https://www.luogu.org/problem/P4116 题意: 修改颜色的时候用异或,这里线段树维护的是此区间内第一个出现的黑点。因为是单点修改,所以标记下传啥的都不需要~~直接上区间最值线段树。 如果白点的话就赋值INF,防止参与查询。 树剖后用线段树来维护,维护最小值, 阅读全文