摘要: 有向图游戏是一个经典的博弈游戏——实际上,大部分的公平组合游戏都可以转换为有向图游戏。 在一个有向无环图中,只有一个起点,上面有一个棋子,两个玩家轮流沿着有向边推动棋子,不能走的玩家判负。 By : OI Wiki mex 函数 \(mex(S)\) : 不属于集合 S 的最小非负整数 例如 \(m 阅读全文
posted @ 2025-04-07 00:40 he_jie 阅读(65) 评论(0) 推荐(0)
摘要: 启发式合并是将小的部分合并到大的部分,比直接合并更能降低时间复杂度,比较符合直觉 基本的一些会使用到的数组与映射关系 \(home\) : 物品的虚拟编号 \(id\) : 集合虚拟编号对应的实际编号 \(pos\) : 集合实际编号对应的虚拟编号 一些转换 : 物品 \(i\) 实际所在的集合下标 阅读全文
posted @ 2025-04-02 16:17 he_jie 阅读(19) 评论(0) 推荐(0)
摘要: 字符串哈希把字符串变为一个哈希值,可以线性的比较字符串是否相等 时间复杂度 : 预处理 \(O(n)\),查询 \(O(1)\) 样例 typedef unsigned long long ull; cosnt int p = 131; ull get(string &s) { ull res = 阅读全文
posted @ 2025-03-25 21:01 he_jie 阅读(41) 评论(0) 推荐(0)
摘要: 398 F 字符串哈希 找结尾处最长回文子串,分别维护两个方向的哈希值,相等则是回文子串 382 F 扫描线 维护区间最小值,初始值为高度,后落上去的为该区间区间最小值减一 阅读全文
posted @ 2025-03-23 17:35 he_jie 阅读(3) 评论(0) 推荐(0)
摘要: 曼哈顿距离(Manhattan Distance) 解释:只能横着或竖着走,坐标上两点的距离 假设存在两点 \(A(x_1, y_1)\) \(B(x_2, y_2)\) \(dis(A, B) = |x_1 - x_2| + |y_1 - y_2|\) 对于上方求曼哈顿距离的式子,有四种情况 \( 阅读全文
posted @ 2025-03-22 19:52 he_jie 阅读(253) 评论(0) 推荐(0)
摘要: 399 E 我们可以发现一些性质,将所有字母看作点,每个点的出度不能大于 1 以及一旦成环,需要用一个额外的点,先拆为链才能继续 \(n\) 个点 \(n\) 条边,这个条件也就是我们熟悉的由环构成的图 找到有几个环,然后每个环加上 \(1\) 点贡献 并且需要特判一下,涉及到 26 个字母时无法转 阅读全文
posted @ 2025-03-12 18:18 he_jie 阅读(20) 评论(0) 推荐(0)
摘要: 目录 单点修改的线段树 带懒标记的线段树 用前后缀维护的线段树 需推导公式维护的线段树 直角坐标系上的线段树(扫描线) 阅读全文
posted @ 2025-03-05 13:11 he_jie 阅读(18) 评论(0) 推荐(0)