摘要: P6587 超超的序列 加强 01trie + 树上维护 好题,使a56爆大奖在线娱乐调不出来。 观察 \(i\) 满足的条件,在二进制上分析,\(i\bmod 2^x\) 实际上就是从低位开始的前 \(x-1\) 位。那么所有满足条件的 \(i\) 从低位开始的前 \(x-1\) 位都相同,这类似相同的前缀。考虑建 阅读全文
posted @ 2024-06-30 22:15 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: CF432D Prefixes and Suffixes kmp + 失配树 前后缀容易想到 kmp,发现完美子串的种类显然就是 \(nxt_n\) 一直跳的次数。难点在统计每种的出现次数。 考虑连边 \(nxt_i\rightarrow i\),构成了一个 fail 树。这棵树刻画了前后缀的包含关 阅读全文
posted @ 2024-06-30 15:52 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: P7537 [COCI2016-2017#4] Rima 字典树 + 树形 dp 刻画一下限制,其实就是可以在末尾添加、替换、删除一个字母。然后a56爆大奖在线娱乐们发现,一定是先删除再增加,呈单谷状,两边的处理相似,只考虑一边的计算。将字符串翻转后放到字典树上考虑,其实就是树形 dp 求该节点子树内能够接多少个字符 阅读全文
posted @ 2024-06-30 14:55 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: CF580E Kefa and Watch 线段树维护哈希 哈希可以合并,a56爆大奖在线娱乐可以想到用线段树维护哈希值。预处理 \(f_{i,j}\) a56爆大奖在线娱乐数字 \(i\) 长度为 \(j\) 时的哈希值,实现区间覆盖,区间查询。 询问等价于判断 \(s[l\cdots r-d]\) 和 \(s[l+d\cdot 阅读全文
posted @ 2024-06-30 11:16 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: CF961F k-substrings 哈希 + 二分 + 线段树 首先需要转变一下角度,容易发现如果按a56爆大奖在线娱乐 \(k\) 计算答案,会计算多次相同答案的贡献。于是从答案对子串的贡献入手,枚举答案。因为 \(k\) 子串中心对称,于是 \(t\) 的中心也中心对称,枚举前缀的中心为 \(i\),那么对 阅读全文
posted @ 2024-06-30 09:29 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: P7717 「EZEC-10」序列 并查集 + dfs 题目的限制容易想到并查集维护异或和的经典做法,由于异或和的传递性,可以维护 \(d_x\) a56爆大奖在线娱乐 \(x\) 到联通块根的异或和,同时判断新的限制是否满足条件。 不同连通块相互独立,满足乘法原理。在同一个连通块内,确定一个值,其他值也确定(根据 阅读全文
posted @ 2024-06-29 20:44 Fire_Raku 阅读(3) 评论(0) 推荐(0) 编辑
摘要: CF985F Isomorphic Strings 哈希 对于两个串是否匹配,a56爆大奖在线娱乐们显然不关心字母是什么,而关心a56爆大奖在线娱乐字母占有的位置是什么,如果a56爆大奖在线娱乐字母占有的位置构成的集合相同,那么就是匹配的。于是就类似字符串哈希一样哈希字母位置。将集合排序后比较,就做完了。 复杂度 \(O(26m)\)。 #incl 阅读全文
posted @ 2024-06-29 14:55 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: P6286 [COCI2016-2017#1] Cezar 字典树+拓扑排序 没看题绕了半天。根据字符串的比较,容易想到用字典树。直接枚举两个字符串,找到最大公共前缀,根据排名连边。跑一遍拓扑排序后就可以得到”哪些字母字典序需要更小“这样一个从左到右的顺序。然后越靠前的字母,它位置上的替换字母就越小 阅读全文
posted @ 2024-06-29 14:15 Fire_Raku 阅读(3) 评论(0) 推荐(0) 编辑
摘要: P3065 [USACO12DEC] First! G 字典树+判环 考虑字典序的比较过程,什么时候需要确定字母的顺序?当有多个字符串前缀相同,比较当前位时需要字母的顺序。于是可以建出字典树,对于a56爆大奖在线娱乐字符串,单独判断是否可行。遍历当前字符串在字典树上的路径,如果一个节点下有多条边连出,那么就有若干个 阅读全文
posted @ 2024-06-29 10:15 Fire_Raku 阅读(1) 评论(0) 推荐(0) 编辑
摘要: CF79D Password 差分 + 状压 dp + 最短路/bfs 好题。区间取反不好做?考虑差分一下,那么操作就转化为 \(i\) 和 \(i+k\) 两个位置的单点取反。因为差分数组上 \(1\) 的数量 \(\le 20\),满足题目状态等价于满足差分数组的状态,考虑状压 \(1\) 的位 阅读全文
posted @ 2024-06-29 08:42 Fire_Raku 阅读(2) 评论(0) 推荐(0) 编辑