随笔分类 - 字符串
摘要:传送门 题意:给定长度为奇数的 01? 串,问多少种填法使得串可以变成 。一次操作定义为把连续三个数变成它们的中位数。 这种计数题可以先考虑怎么判定一个串是否可以变成 ,称作合法。 根据人类智慧,可以想到 合法 合法,进而启示我们
阅读全文
摘要:【定义与性质】 Primitive Word(PW):没有循环节的字符串。 Lyndon Word(LW):字典序严格小于它所有 cyclic-shift 的字符串。 LW 有很多美妙的性质。记 为一个字符串。 定义一个新符号 :若 ,则 字典
阅读全文
摘要:【失配树:KMP 拓展】 先 KMP 一遍。然后对 建立一棵树: 作为 的父结点。 则最长公共 border 就是这棵树上的 LCA 对应的长度。 border:若 既是 的前缀又是 的后缀,则
阅读全文
摘要:【Trie 树】 我们试图给每一个字符串一个对应的值。但是由于字符串长度不定,也不是数字,所以不能用数组。 有几种办法: STL map,二叉排序树(平衡树), 。 为字符串长度。 Trie,插入删除查询都是 的。但是
阅读全文
摘要:【最小表示法】 最小表示法 循环表示:从一个位置开始向后遍历,到末尾再倒回去最前面。一个字符串(数组)一共有 个。 最小表示法就是最小的循环表示。 例如,3 1 4 9 1 的最小表示法是 1 3 1 4 9. 如果我们用打擂台比大小的方式,因为字符串之间比较需要时间,总共是 \(O(n
阅读全文
摘要:【哈希】 哈希可以分成两块:哈希函数和哈希表。 哈希函数是一种对应关系,它可以把任意类型映射为一个不太大的整数。 例如字符串,我们可能希望在字符串上记录一些属性。但是字符串不能当下标,那我们就只能加个大常数用 map。 这时,哈希函数出场了!如果我们有一个哈希函数 可以把一个字符串
阅读全文