字符串
darge.
.
展开
-
01字典树模板
01字典树主要用于解决求异或最值的问题开头初始化(全程一遍),再insert(x);传每个点,建树。typedef long long LL;#define MAXN 100005int tol; //节点个数 LL val[32 * MAXN]; //点的值 int ch[32 * MAXN][2]; //边的值 void init(){ //初始化 tol = 1; ch...原创 2019-08-27 16:17:41 · 123 阅读 · 1 评论 -
HDU-2846(Trie)
题目大意:n个商品,m个字符串查询,对每个查询输出含有查询串为子串的商品个数解题思路:字典树,但是来自同一个串的后缀的相同前缀只能统计一次题目链接:>_<A C 代码:#include<stdio.h>#include<iostream>#include<string.h>using namespace std;const int N...原创 2019-07-23 14:33:44 · 138 阅读 · 0 评论 -
零基础后缀数组
后缀数组后缀数组的定义详讲后缀数组倍增算法基数排序倍增算法过程后缀数组的应用最长公共前缀单个字符串的相关问题重复子串子串个数回文子串连续重复子串两个字符串的相关问题多个字符串的相关问题写的很好的后缀数组论文功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表...原创 2019-07-18 13:15:29 · 216 阅读 · 1 评论 -
彻底搞懂马拉车(Manacher)
Manacher算法,又叫“马拉车”,它可以在时间复杂度和空间复杂度都是O(n)的情况下,求出一个字符串的最长回文串长度。回文串的基本解法 以每一个点为中心对称点,每次保留最长回文子串的长度,最后得到的就是最长回文子串的长度,但是这样的时间复杂度为O(n^2),并且奇偶回文串是不一样的,比如“aba”的对称中心为...原创 2019-07-03 20:28:57 · 22056 阅读 · 8 评论 -
Trie树(字典树)讲解
Trie树先聊一聊字典树是什么,他有什么用来源于百度:字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。简单来说,字典树就是将很多组字符串储存在一棵树上,并且可以快速...原创 2019-07-02 20:53:07 · 844 阅读 · 0 评论