假设s可以由t重复k次拼成,即s=tttt……tt,我们称为s=t^k。先给定一个字符串s,求最大的n使得存在t满足s=t^n。 用kmp的nxt数组解决~ #include<cstdio> #include<cstring> #include<iostream> using namespace s ...
分类:
其他好文 时间:
2020-02-19 21:07:08
阅读次数:
62
题意:http://acm.hdu.edu.cn/showproblem.php?pid=3336 rt 思路:https://www.cnblogs.com/Tree-dream/p/7443897.html 差不多了,dp只是简化递归而已。 1 #define IOS ios_base::syn ...
分类:
其他好文 时间:
2020-02-19 15:26:21
阅读次数:
74
"CF113B Petr " 大概就是字符串匹配加一个字符串哈希判重。懒得打kmp,就用字符串哈希匹配了。 字符串哈希大概就是把字符串转成一个p进制的数,每一段字符串都有一个对应的哈希值。p尽量取质数 ...
分类:
其他好文 时间:
2020-02-16 20:56:44
阅读次数:
90
KMP算法 关于字符串匹配的算法,最知名的莫过于KMP算法了,尽管我们日常搬砖几乎不可能去亲手实现一个KMP算法,但作为一种算法学习的锻炼也是很好的,所以记录一下。 KMP算法是根据三位作者(D.E.Knuth, J.H.Morris和V.R.Pratt)的名字来命名的,算法的全称是Knuth Mo ...
分类:
编程语言 时间:
2020-02-16 16:35:12
阅读次数:
103
不管是PHP、Python还是JAVA等编程语言,在使用字符串匹配过程中,正则表达匹配往往是首选。下面是个人总结的关于正则表达的基本知识。初学往往只是基础,关键在于实践。 ...
分类:
其他好文 时间:
2020-02-16 12:41:26
阅读次数:
60
"URAL 1996" 题意: "URAL 1996" 给两个长度分别为$n, m$的字节串$A,B$,$A$串的最后一位可以修改,代价为$1$,求使得$B$串为$A$串字串的最小代价 Solution : 因为$A$串只有最后最后一位可以修改,所以可以用KMP求出可能匹配的位置,然后计算每个位置的 ...
分类:
其他好文 时间:
2020-02-11 13:15:13
阅读次数:
54
```#include#includeusing namespace std;char s[1005],str[105];int Next[105];void Get_KMP(){ int m = strlen(str); int i=0,j=-1; Next[0] = -1; while(i=m)... ...
分类:
其他好文 时间:
2020-02-11 11:29:36
阅读次数:
52
我发现想出kmp算法的人tql,我理解都要理解半天(太抽象了QAQ)。 kmp代码的自己理解: #include <string> #include <iostream> #include <vector> using namespace std; const int N = 10000; int ...
分类:
编程语言 时间:
2020-02-10 13:59:18
阅读次数:
50
正则表达式 正则表达式为高级的文本模式 匹配,抽取,与/或 文本形式的 搜索 和 替换 功能提供基础。 正则表达式(regex)由一些 字符和特殊字符 组成的字符串。正则表撒式能按某种模式匹配一些列有相似特征字符串。只能匹配一个字符串的正则表达式毫无意义。 python通过标准库re模块支持正则表达 ...
分类:
其他好文 时间:
2020-02-10 13:49:23
阅读次数:
70
需要重点以下10种数据结构和10种算法: 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 ...
分类:
编程语言 时间:
2020-02-08 13:41:32
阅读次数:
88