摘要:
神奇的分块。 假如没有 $2$ 操作,我们可以直接用主席树解决。 我们考虑将询问分块,每遍历完一块就将这一块内出现的所有修改更新。如果在块内,就把当前块之前的所有修改暴力算,当然只有修改的节点在询问的节点的子树内才会发生。 具体的来说,我们可以用分块维护 dfs 序,并将块内的元素排序,询问 $O( 阅读全文
posted @ 2023-07-17 22:59
HQJ2007
阅读(58)
评论(0)
推荐(0)
摘要:
点分树。 本题的核心问题在于不好直接确定补给站的位置。 但是仔细思考后我们发现,对于当前节点,如果存在一个儿子的答案比它优,那么补给站一定在那个儿子的子树中。 增量为 $w\times(sum_u-2\cdot sum_v)$。当 $v$ 优于 $u$ 时,$2\cdot sum_v>sum_u$。 阅读全文
posted @ 2023-07-17 21:57
HQJ2007
阅读(36)
评论(0)
推荐(0)
摘要:
点分树模板题。是个神奇的算法。 点分树就是将分治重心按照层级连边,每个节点父亲的联通块都包含了当前节点的联通块,且高度为 $\log n$。可以解决不考虑树的形态的多次询问带修改的问题。 对于这道题,我们可以在点分树的每个节点上记录两棵树状数组,分别与当前节点距离为 $k$ 的节点的权值和,以及与当 阅读全文
posted @ 2023-07-17 21:56
HQJ2007
阅读(57)
评论(0)
推荐(0)
摘要:
点分治。 考虑当前的分治重心的城市被完全联通。 这可以用队列接解决。每次放入一种城市,就把那些城镇的父亲加入队列,如果存在城镇不在当前分治重心的联通块内,那么说明必定存在另一个分治重心能算到它,直接退出即可。 剩下的和模板没有任何区别。 复杂度 $O(n\log n)$。 code: ```cpp 阅读全文
posted @ 2023-07-17 21:55
HQJ2007
阅读(26)
评论(0)
推荐(0)
摘要:
点分治模板题。 点分治适合处理大规模的树上路径信息问题 暴力做法:dfs 每个点 $u$,算出其子树内每个点到 $u$ 的距离,统计经过 $u$ 的所有路径,复杂度 $O(n^2)$。 容易发现,复杂度和子树大小有关。 对于当前子树,我们可以求出其重心,计算经过重心的所有路径,删掉重心,递归每个联通 阅读全文
posted @ 2023-07-17 21:55
HQJ2007
阅读(28)
评论(0)
推荐(0)
摘要:
这题有紫?? 对于询问节点 $u$,倍增地跳到它的 $k$ 级祖先,求其子树内有多少深度为 $dep_u$ 的节点。 我们考虑把询问离线,再通过 dfs 序把树拍平,然后扫一遍直接求就行了。 复杂度 $O(n\log n)$。 code: ```cpp #include using namespac 阅读全文
posted @ 2023-07-17 21:54
HQJ2007
阅读(31)
评论(0)
推荐(0)
摘要:
树上带修莫队。 **带修莫队复杂度分析:** 带修莫队比普通莫队多了一个时间戳,排序的时候先排左端点,再排右端点,如果左右端点所在块对应相等,则按时间戳排序。 设区间长度为 $n$,询问数为 $q$,修改数为 $c$,块长为 $B$。 我们分别考虑时间戳、左端点和右端点的移动次数。 时间戳:对于每一 阅读全文
posted @ 2023-07-17 21:53
HQJ2007
阅读(33)
评论(0)
推荐(0)
摘要:
构造题。 首先判断无解。每选一条边贡献两个度数,所以如果没有 $-1$ 的点,且度数和为奇数,那么无解。 接下来考虑构造。我们考虑从图中扣下来一棵树(dfs 树),如果度数为奇数,令 $-1$ 的点为根,否则随便选一个。 定义 $tp_i$ 表示第 $i$ 个节点是否需要与父亲连边,$0$ 表示不用 阅读全文
posted @ 2023-07-17 21:52
HQJ2007
阅读(25)
评论(0)
推荐(0)
摘要:
找规律。 我们看有哪些数的 $path$ 经过 $x$。 当 $x$ 为奇数时,有:$x,2x,2x+1,4x,4x+1,4x+2,4x+3...$ 当 $x$ 为偶数时,有:$x,x+1,2x,2x+1,2x+2,2x+3,4x,4x+1...$ 规律很明显,不解释。 因为当 $x$ 为奇数和 $ 阅读全文
posted @ 2023-07-17 21:51
HQJ2007
阅读(22)
评论(0)
推荐(0)
摘要:
如果 $y$ 不是 $x$ 的倍数,答案为 $0$。 否则计算有多少种数列满足所有数 $\gcd$ 为 $1$ 且和为 $\frac{y}{x}$。 定义 $f_i$ 表示和为 $i$ 且 $\gcd$ 为 $1$ 的数列的数量。 显然有如下等式: $$2^{x-1}=\sum\limits_{d\ 阅读全文
posted @ 2023-07-17 21:51
HQJ2007
阅读(16)
评论(0)
推荐(0)

浙公网安备 33010602011771号