点分治 2022-12-29 介绍 点分治用于处理 树上的路径问题。 点分治的主要思想是,对于一棵子树,子树内的所有路径只有两种情况: 不经过根节点 经过根节点 对于第一种,我们可以 Read more...
树状数组二分 2022-12-27 算法 这篇 blog 记录一个树状数组上二分的小技巧。 介绍 对于树状数组,我们知道它支持 O(logn) 内进行如下操作: 单点修改 前缀和查询 现在我们希望它用 O(logn) 支持第三种操 Read more...
2020-2021 ICPC NERC (NEERC), North-Western Russia Regional Contest 2022-12-26 解题报告 L. Lost Permutation 题意 交互题。 有一个隐藏的 permutation π,长度为 n。 现在只有一种询问: ? f1 f2… fn:给定一个 permutation f,系统会回答你一个 permutation g, Read more...
树同构 2022-12-25 算法 介绍 两个树同构 ⟺ 有且仅有一种重新编号方式,使得一棵树的节点重新编号后得到另外一棵树。 • 如果是有根树同构,那么还要额外加一个限制条件:树的节点 Read more...
树的重心 2022-12-23 算法 定义 树的重心是指: 在一棵无权无根树中,对于每一个点 u,计算它所有子树中最大的子树的节点数,这个最大值最小的点 u 就是树的重心。 性质 点 u 为重 Read more...
2019 Jakarta Regional 2022-12-23 解题报告 K. Addition Robot 题意 给定 n 个字母 s1,s2…,sn,每个字母要么为 A 要么为 B。 现在有 Q 个询问,每个询问有两种类型: 1 L R:将 i∈[L,R] 的所有 A 改成 $ Read more...
2021 NERC 2022-12-20 解题报告 CF1666J Job Lookup 题意 给定一个 n×n 的矩阵 cij。 求一个BST,使得 ∑i,jcij⋅dij 最小。 其中,dij 代表节点 i,j 在BST中的距离。 输出这个 BST Read more...
2022 NERC Regional 2022-12-04 解题报告 A. Access Levels 题意 有 n 个程序员,m 个文档。 给定一个 n×m 的矩阵 a,其中 aij=1 表示程序员 i 可以访问文档 j,否则不行。 现在我们需要选择一个数 Read more...
线性规划 2022-11-29 算法 介绍 线性规划问题一般表示为如下: 给定 cj,aij,bi,求 x 的值使得 maxx∑j=1dcjxj 其中 ∑j=1daijxj≤bi,∀i=1…n xj≥0,∀j=1…d 等价的,可以把上式写作: maxx c⋅x 其 Read more...
KMP 2022-10-29 算法 介绍 KMP算法能在 O(n) 的时间内,求出一个字符串的每个前缀的最长 border 长度。 利用 border 的性质,也可以在 O(n) 的时间内,求出一个字符串 t 在文本串 s 中出现的所有 Read more...