Loading

摘要: 题意 一棵 $n$ 个节点的树,求两点间距离不超过 $k$ 的点对对数。 思路 点分治模板题,点分治一般用来解决树上的路径问题,核心在于找出重心,算经过重心的合法路径,然后以重心把树劈成若干个小树分别计算,每次能把树至少砍一半,至多递归到 $\log n $ 层,而每层总结点数是 $n$ ,所以复杂 阅读全文
posted @ 2018-12-21 22:27 Paulliant 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意 https://www.lydsy.com/JudgeOnline/problem.php?id=4399 思路 码农题,需要一定代码功底。方法很暴力,先将权值离散,表示在线段树里储存的位置,每个连通块用一棵动点线段树存储,合并两个连通块直接对两个动点线段树进行合并,查询操作在当前连通块的线段 阅读全文
posted @ 2018-12-21 22:06 Paulliant 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 题意 $n$ 个点的有根树,根为 $1$ 。每个点有点权,有 $q$ 个询问,每次询问以 $u$ 为根的子树的点的点权中异或 $x$ 所得的最大值是多少。 思路 求出整棵树的 $\text{dfs}$ 序,问题就转化成了序列上,求一个区间中的数字异或 $x$ 可得的最大值。同样的方法,只需在原序列上 阅读全文
posted @ 2018-12-21 21:46 Paulliant 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意 $n$ 个数,$m$ 个操作,每次操作修改某个数,或者询问某个区间的第 $K$ 小值。 $1 \leq n \leq 50000$ $1 \leq m \leq 10000$ 思路 动态区间第 $K$ 小的模板题。回到主席树的职能,它维护了一排前缀线段树,假如我们要快速求一段区间的总和,显然优 阅读全文
posted @ 2018-12-21 21:31 Paulliant 阅读(132) 评论(0) 推荐(0) 编辑