摘要:
魔法少女LJJ 题解 这题纯属就是迷惑题。。 为什么这么说? 注意数据范围: 对 100% 的数据 \(0\leq m\leq400000\),\(c\leq 7\)。 \(c\leq 7\)!! 这意味着根本没有删除操作。就连样例也是错的。 Solution 这题的各种操作,用并查集 + 线段树合 阅读全文
摘要:
Tarjan 算法 前言 说来惭愧,这个模板仅是绿的算法至今我才学会。 我还记得去年 CSP2023 坐大巴路上拿着书背 Tarjan 的模板(CSP2024 也没学会)。虽然那年没有考连通分量类似的题目(2024 也没有)。 现在做题遇到了 Tarjan,那么,重学,开写! 另,要想学好此算法的第 阅读全文
摘要:
upd 2024.10.24 :补充了为什么求欧拉路径时不能正序存点。 欧拉路径、回路、图 前言 当一手标题党,快乐~ 之前一直分不清楚,写篇笔记分辨一下。 欧拉路径 可以一笔画的路径,称为欧拉路径。不要求起点终点为同一点。 判定: 有向图:图中只有一个出度比入度大 \(1\) 的点(起点),与一个 阅读全文
摘要:
差分约束系统 前言 真的好久好久都没打过这个算法了。当时学的时候学得不明不白,又不写总结、又不刷题(我都不知道自己咋想的),所以今天刷图论题的时候,发现一车子的差分约束都没打过。 所以,重学,开写! 差分约束系统是什么 不要被他名字的学术性吓到了,这个“系统”字面意思理解就行,不是什么高深庞大的东西 阅读全文
摘要:
dsu on tree 前言 在我认为,这个并不能说单独列出来成为一个算法,更恰当的说,是一种思想、技巧。反正挺简单的,也很有趣(谁会拒绝一个优美的暴力呢),所以写篇笔记记录一手。 dsu 是什么 dsu 一般指“disjoint set union”,即并查集。那么 dsu on tree 也就是 阅读全文
摘要:
CF1920E 被这种题卡了,脸都不要了。 仔细读题,发现序列可以分成两部分(\(0\) 和 \(1\))来考虑。 在合法序列中,对于一个 \(1\),它产生的子串贡献一定是(假设与上一个 \(1\) 之间有 \(x\) 个 \(0\),与下一个 \(1\) 之间有 \(y\) 个 \(0\)): 阅读全文
摘要:
浅谈 ST 表 这种东西还是很简单的,但是涉及左移右移,模板容易打挂,写篇笔记。 ST 表是什么 虽然这个是通过二维数组来实现的,但是我不是很喜欢称之为“表”。我觉得完全可以看作是在一维序列上的区间,看作“表”的话关联性就会很鬼畜。 其主要思想是:\(f[i][j]\) 表示区间左端点为 \(i\) 阅读全文
摘要:
浅谈 AC 自动机 前言 这不是第一次看到这个算法。第一次是在 OI-wiki 上瞄到的。当时我还是一个什么也不懂的初一蒟蒻,看到这个名字就十分兴奋:“‘AC 自动机’耶!是不是可以帮我自动 AC !?” 后来看到只是一个字符串算法,就离开了。今天上课讲了这个,感觉原理及实现没有后缀数组那么难(还没 阅读全文
摘要:
浅谈 Trie 树 什么是 Trie 树? Trie 树,又称字典树,可用于存储单词。 Trie 树的根节点不表示任何字母,但是除了根节点的所有字母都表示一个字母。 任何一个单词,都可以用一条从根节点出发的路径表示。在路径的终点做一个“结束”标记,对应一个单词的结尾。 举个例子:要存储 work,w 阅读全文
摘要:
浅谈基数排序 前言 注意,本贴的算法是基数排序而不是计数排序。这两者差别不大,但是存在着一定差异。 一句话做法 从低位到高位,每次都把所有要排序的数(含前导 \(0\))丢入相应的桶(\(0\)~\(9\)),再从小到大(对于桶的编号而言从小到大)取出来,一定次数后,原数组有序。 数据模拟 假如要对 阅读全文