摘要: 差分约束系统 前言 真的好久好久都没打过这个算法了。当时学的时候学得不明不白,又不写总结、又不刷题(我都不知道自己咋想的),所以今天刷图论题的时候,发现一车子的差分约束都没打过。 所以,重学,开写! 差分约束系统是什么 不要被他名字的学术性吓到了,这个“系统”字面意思理解就行,不是什么高深庞大的东西 阅读全文
posted @ 2024-01-24 11:13 WerChange 阅读(9) 评论(0) 推荐(0) 编辑
摘要: dsu on tree 前言 在我认为,这个并不能说单独列出来成为一个算法,更恰当的说,是一种思想、技巧。反正挺简单的,也很有趣(谁会拒绝一个优美的暴力呢),所以写篇笔记记录一手。 dsu 是什么 dsu 一般指“disjoint set union”,即并查集。那么 dsu on tree 也就是 阅读全文
posted @ 2024-01-24 09:46 WerChange 阅读(28) 评论(0) 推荐(0) 编辑
摘要: CF1920E 被这种题卡了,脸都不要了。 仔细读题,发现序列可以分成两部分(\(0\) 和 \(1\))来考虑。 在合法序列中,对于一个 \(1\),它产生的子串贡献一定是(假设与上一个 \(1\) 之间有 \(x\) 个 \(0\),与下一个 \(1\) 之间有 \(y\) 个 \(0\)): 阅读全文
posted @ 2024-01-22 11:48 WerChange 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 浅谈 ST 表 这种东西还是很简单的,但是涉及左移右移,模板容易打挂,写篇笔记。 ST 表是什么 虽然这个是通过二维数组来实现的,但是我不是很喜欢称之为“表”。我觉得完全可以看作是在一维序列上的区间,看作“表”的话关联性就会很鬼畜。 其主要思想是:\(f[i][j]\) 表示区间左端点为 \(i\) 阅读全文
posted @ 2024-01-22 11:42 WerChange 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 浅谈 AC 自动机 前言 这不是第一次看到这个算法。第一次是在 OI-wiki 上瞄到的。当时我还是一个什么也不懂的初一蒟蒻,看到这个名字就十分兴奋:“‘AC 自动机’耶!是不是可以帮我自动 AC !?” 后来看到只是一个字符串算法,就离开了。今天上课讲了这个,感觉原理及实现没有后缀数组那么难(还没 阅读全文
posted @ 2024-01-16 22:24 WerChange 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 浅谈 Trie 树 什么是 Trie 树? Trie 树,又称字典树,可用于存储单词。 Trie 树的根节点不表示任何字母,但是除了根节点的所有字母都表示一个字母。 任何一个单词,都可以用一条从根节点出发的路径表示。在路径的终点做一个“结束”标记,对应一个单词的结尾。 举个例子:要存储 work,w 阅读全文
posted @ 2024-01-16 09:53 WerChange 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 浅谈基数排序 前言 注意,本贴的算法是基数排序而不是计数排序。这两者差别不大,但是存在着一定差异。 一句话做法 从低位到高位,每次都把所有要排序的数(含前导 \(0\))丢入相应的桶(\(0\)~\(9\)),再从小到大(对于桶的编号而言从小到大)取出来,一定次数后,原数组有序。 数据模拟 假如要对 阅读全文
posted @ 2024-01-15 22:09 WerChange 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 超级简单的后缀数组(SA)!! 前言 这里选择当一手标题党。 由于刚学完这个字符串算法,本人字符串算法又比较薄弱,好不容易这一次在晚修看各种资料看得七七八八,决定趁脑子清醒的时候记录下来。 免得自己不久后忘了后又要痛苦地再看各种资料。希望这篇博客能帮到你。 前置知识:RMQ 问题、基数排序、lcp 阅读全文
posted @ 2024-01-14 22:00 WerChange 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题目跳转 Fake_Solution 前言 [warning]: 本题解的做法是错法,但是正确概率贼高。离谱的是正确率还可以叠加。 正解是记搜,时间复杂度可以证明。正解看文末。 思考 众所周知一个公式: \[a\times b=\operatorname{lcm}(a,b)\times \gcd(a 阅读全文
posted @ 2023-12-16 11:48 WerChange 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 提供二分+DP做法。 Solution 题意 给出 \(n(\le 2\times 10^5)\) 个单调递增偶整数 \(a_i\),求最小的 \(k\) 满足每一个 \(i\) 都可以在 \(k\) 时刻之前(含)与相邻的数相遇。每个单位时间可以移动一个单位距离。 思路 启发式思考 在想到正解之前 阅读全文
posted @ 2023-12-04 20:14 WerChange 阅读(11) 评论(0) 推荐(0) 编辑