线段树 II 之 懒惰标记 前置知识:线段树 I – ztr 的小窝 (ztrztr.top) 懒惰标志 Lazy Tag 懒惰标志,是维持线段树的区间修改查询的复杂度在 $O(\log n)$ 级别的一个方法。 正常的区间修改查询的复杂度可以说是 $O(n)$ 级别的,因为每次修改一个,需要一直传到叶子节点为止。 但是我们发现,如果这样的话,修改…
CSP 初赛笔记,持续更新中。 出栈序列 出栈序列满足 FILO 的规则,也就是先进后出。 如果入栈的顺序是降序排列,那么可以快速判断的依据就是任意数A的后面比A大的数都是按照升序排列的 如果入栈的顺序是升序排列,那么可以快速判断的依据就是任意数A的后面比A小的数都是按照降序排列的 哈夫曼编码 哈夫曼编码详解——图解真能看了秒懂_已知字符集abcd…
前缀函数 前缀函数的定义是:一个字符串最长的真前缀和真后缀。真前后缀的意思是这个前缀或者后缀不是这个字符串本身。 我们定义 $f(i)$ 的意思是这个字符串从第 $1$ 位到第 $i$ 位的字符串的前缀函数。 通过定义,我们可以暴力求出前缀函数 $f(i)$,复杂度 $O(n^2)$。 显然,这个复杂度太高了,于是我们可以尝试优化。 优化 第一个重…
SPFA学习笔记 SPFA,他死了!——某次 noi T1 的出题人。 感觉和 DIJ 很像。 使用范围:负边权,判断负环,随机图 不适用于构造图。容易超时。 思路: 对于出发的点,向所有可以到达,并且没到达过的点的边都进行松弛(见 图论——dijkstra),将松弛的点入队,注意是队列不是优先队列。 继续重复上面的操作,直到队列为空。 #incl…
介绍了 Tarjan 求割点和桥。
拓扑排序与关键路径的学习笔记。
模意义下的乘法逆元
树状数组学习笔记。
拓扑排序的介绍。
并查集学习笔记。