抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

B: 我承认阁下的字符串匹配很强

题意:

含有通配字符串的匹配问题;

思路:

采取暴力搜索文本串的思路;

假设当前搜索的位置为dfs(pos),比较该位置往后的patlen个位置,观察是否能匹配,若能,便右移next个位置,若不能便右移一个位置,注意右移next个位置未必比右移一个位置更优,转移方程为dfs(pos)=max(dfs(pos+1),dfs(pos+next)+1)

You can't use 'macro parameter character #' in math modenext$是指模式串最长的前缀等于后缀的长度; ## C: Necklace ### 题意: 找到字符串$T$所在的循环群字典序最小元; ### 思路: 循环群每一个元实际上都可以用原串的一个下标表示,因此无需复制; 比较不需要全串比较,只需要跳过前面相同的部分,比较第一个不同的字母即可; 暴力枚举所有的字符串,保持$best$的位置的更新; ## C:Trap-Sirrom-Tunk ### 题意: 给定模式串与文本串,求解文本串的匹配次数; ### 思路: $KMP$算法模板题; 找到模式串的$next$数组,考虑从前往后暴力遍历匹配,如果匹配失败则右移$next$个位置,否则答案自增1; ## J: 数据攻防1 ### 题意: 给定若干模式串,找到在文本串中出现的次数; ### 思路: $AC$自动机模板题; 将每个模式串插入$trie$中,建立$fail$指针,遍历文本串,每次经过模式串在$trie

树打的标记便自增1;

L: Obsession

题意:

在字符串末尾增加字符使得原串成为周期的;

思路:

利用KMP算法找到next数组,并且利用数组找到最佳的周期,如果原串是周期的倍数但是不等于周期,说明答案为0,否则,将原串补为最近的周期的倍数即可;

评论




博客内容遵循 [署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)
本站使用 Volantis 作为主题 字数统计:318.5k
<