摘要:
偏序集合 一个集合 $P$ 内的 $\le$ 满足偏序则 $P$ 为 偏序集合。 $\le$ 为偏序则其具有 自反性,反对称性,递移性 ,即对于 $a,b,c\in P$ ,满足: $a\le a$ 如果 $a\le b $ 且 $b\le a$ ,那么 $a=b$ 如果 $a\le b$ 且 $b 阅读全文
摘要:
一维树状数组 树状数组基本原理 我们借 OI-wiki 上的图用用: 原理是对于每个节点,存储一段连续的长度为 \(2\) 的次幂的区间。 而具体来说,对于一个数 \(x\) ,其管理 \(lowbit(x)\) 长度的区间,而这具体是那个区间也可以写出: \((x-lowbit(x),x]\)。 阅读全文
摘要:
题目大意:给出一棵有根树(根为 \(0\) ),点有点权。可以删除点(非根),并将其子树接到其父亲上。我们称一个树为树堆当前仅当树上每个点都满足其权值大于等于其子树中所有点的点权。现在对于每个点要求其子树删去一些点后形成的树堆的最大大小,其中这个点在其自身的子问题内是不可删除的。 题解 这个每个点的 阅读全文
摘要:
康托展开 可以用于求 全排列 的排名(字典序)。 我们先给定一组排列。这里为了举例方便就拿了 OI-wiki 上的例子 \(\{2,5,3,4,1\}\) 了。 我们第一位是 \(2\) ,那么以 \(1\) 开头的就都比它小。后面的也是同理的搞法,就是看当前这位有多少个比它小还之前没有出现过的数( 阅读全文
摘要:
KMP 第一次接触 \(border\) 都是先从 KMP 开始的吧。 思想在于先对于一个串自匹配以求出 fail 指针(也就是 border) 然后就可以在匹配其他串的时候非常自然的失配转移。在此顺便给出一下 \(border\) 的定义: Border 字符串的某个能与后缀完全匹配的真前缀(即不 阅读全文
摘要:
素数判定 暴力 本质上是检查其是否能够不用其本身进行质因数分解。 直接枚举从区间 $[2,n)$ 的数看其是否整除 $n$ 即可。但是其实发现我们只要枚举到 $\sqrt n$ 即可,复杂度 $O(\sqrt n)$。 inline bool prime(ll n){ for(int i=2;i*i 阅读全文
摘要:
长链剖分 顾名思义就是以深度最大的儿子为长儿子做的剖分。 主要思想在于使用指针,使得同一条长链上的 dp 值共用,以达到优化空间复杂度为 \(O(n)\) ,以及优化时间复杂度。但是前提是 dp 状态中有深度这一维。 上一个例题具体分析一下。 CF1009F Dominant Indices 题目大 阅读全文
摘要:
实链剖分 就是可以随意乱剖,想干嘛干嘛的剖分。我们面对动态树问题(树形会变化的问题),用实链剖分可以灵活的维护。然后因为实链剖分比较灵活,我们类比重链剖分,也考虑使用一种数据结构维护这个树上信息。论灵活度,相比线段树来说,splay 是更好的选择。 LCT 也叫 link-cut tree ,用于维 阅读全文
摘要:
我们通过一道例题引入。 引入 CF1279F New Year and Handle Change 题目大意:给出长度为 \(n\) 一个01串(表现为大小写),可以最多选择 \(m\) 个 \(s\) 长度的子串,全部变为0或1。求操作后的 \(\min(cnt_0 , cnt_1)\) 的最小值 阅读全文
摘要:
最小生成树的性质 总结几点性质: 性质1: 对于一张边权互不相同的无向图,其存在唯一的最小生成树。 证明: 这个可以反证法证明,若存在两棵不同的最小生成树称为 \(T\) 和 \(T'\),记一条边 \(e\in T ,e\not\in T'\) ,那么显然我们在 \(T\) 中删去这条边会得到两个 阅读全文