![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
-------字符串---------
文章平均质量分 67
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
「JSOI2019」节日庆典 (Z-Algorithm)
传送门考虑一个后缀 Si...nS_{i...n}Si...n,如果加上一个任意字符 ccc 可以使得 Si...ncS_{i...n}cSi...nc 为字典序最小的后缀,那么将其称为好后缀,跟 ZJOI2017ZJOI2017ZJOI2017 的结论一样,好后缀的集合大小是 log∣S∣\log |S|log∣S∣ 的,并且好后缀的长度每次至少翻倍,证明:ZJOI2017字符串于是暴力维护这个集合,只需要考虑比较大小,发现每次需要比较一个后缀和从 1 开始的后缀大小,用 Z−algorith原创 2020-06-08 09:32:40 · 384 阅读 · 0 评论 -
Lyndon Word
Lyndon Word以下简称 LLL 串定义:一个串是 LLL 串,当且仅当它是这个串的最小表示(最小后缀)性质:若 S,TS,TS,T 均为 LLL 串,且 S<TS<TS<T,那么 S+TS+TS+T 为 LLL 串LLL 串的前缀也是 LLL 串将最后一个字符变大,LLL 串还是 LLL 串任意串 SSS,可以划分为 S=s1+s2+⋯+skS=s_...原创 2020-04-28 10:07:02 · 436 阅读 · 3 评论 -
字符串 border
字符串 borderborderborder 的性质:记 SkS_kSk 表示 S1...kS_{1...k}S1...k,为 SSS 的一个 borderborderborder那么这些 borderborderborder 可以划分成不超过 log2∣S∣\log_2|S|log2∣S∣ 段,每一段是 kkk 的等差数列引理 1:若存在一个 borderborderborder...原创 2020-04-12 19:14:16 · 2270 阅读 · 0 评论 -
短文评估[Hash]
Hash表Hash最好用map+unsigned long long 写,不用取模,自动溢出#define ULL unsigned long long map<ULL,int> Map;while(pd(ch=getchar())){ if(ch>='A'&&ch<='Z') ch=ch+'a'-'A'; sum=sum*31...原创 2018-08-28 23:05:51 · 126 阅读 · 0 评论 -
字符串匹配(Hash)
俗话说:字符串问题只有一种做法----Hash;Hash Hash字符串匹配【KMP模板】题目描述给定两个由小写字母构成的字符串 L 和 S 。请你从左到右,找出子串 L 在母串 S 中每次出现的开始位置(匹配位置)。输入格式第一行:给一个全由小写字母构成的母串 S(0<S的长度≤1000000);第二行:给一个全由小写字母构成的子串 L(0<L的长度≤S的长度...原创 2018-08-21 22:04:48 · 1167 阅读 · 0 评论 -
noip提高组字符串模板[trie树,kmp]
遇到字符串最好是hash灵活处理但有些东西还是要学//trie树 void build(string s){ int p=0; for(int i=0;i<=s.length();i++){ if(trie[p].son[s[i]-'a']==0) trie[p].son[s[i]-'a']==++tot; p=trie[p].son[s[i]-'a']; ...原创 2018-10-25 21:32:08 · 215 阅读 · 0 评论