![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kmp
Demoo.
来记录不会的题啦
展开
-
A-花非花 第十八届西南科技大学ACM程序设计竞赛(同步赛)
柳庭风静人眠昼,昼眠人静风庭柳。香汗薄衫凉,凉衫薄汗香。手红冰碗藕,藕碗冰红手。郎笑藕丝长,长丝藕笑郎。给出一个序列 ana_nan,对于 iii,求有几个数 jjj 满足:111 、i≤ji \le ji≤j222 、子串 ai∼ja_{i\sim j}ai∼j 是一个回文串回文串定义:当序列 ana_nan 满足,对任意 1≤i≤n1\le i\le n1≤i≤n,ai=an−i+1a_i=a_{n-i+1}ai=an−i+1 成立。思路:这个时候就用到了一个算法:manacher原创 2022-05-17 11:09:18 · 165 阅读 · 0 评论 -
Oulipo
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter'e'. He was a member of the Oulipo group. A quote from the book:Tout avait Pair normal, mais tout s’affirmait faux. Tout avait Fair normal, d’abord, puis s.原创 2022-03-31 16:50:10 · 58 阅读 · 0 评论 -
Power Strings
给定两个字符串a和b,我们定义a*b为它们的连接。例如,如果a = "abc "和b = "def ",那么a*b = "abcdef "。如果我们把串联看作乘法,那么非负整数的幂运算是以正常方式定义的:a^0 = "(空字符串)和a^(n+1) = a*(a^n).投入每个测试用例是一行代表s的输入,s是一串可打印的字符。s的长度至少为1,不会超过100万个字符。最后一个测试用例后面有一行句号。输出对于每个s,你应该打印出最大的n,使得s =某个字符串a的a^n样品投入copy原创 2022-03-31 16:08:29 · 63 阅读 · 0 评论 -
kmp(next模板)
下标从1开始for(int i=1,j=-1;i<n;i++){ while(j!=-1&&p[i]!=p[j+1])j=ne[j]; if(p[i]==p[j+1])j++; ne[i]=j; }从0开始void get_next(){ int i=0,j=-1; ne[0]=-1; while(i<len) { if(j==-1||str[i]==str[j]) {原创 2022-03-31 01:00:35 · 129 阅读 · 0 评论 -
剪花布条(kmp)
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入格式输入数据为多组数据,读取到#字符时结束。每组数据仅有一行,为由空格分开的花布条和小饰条。花布条和小饰条都是用可见 ASCII 字符表示的,不会超过10001000个字符。注意:这个#应为单个字符。若某字符串开头有#,不意味着读入结束!输出格式对于每组数据,输出一行一个整数,表示能从花纹布中剪出的最多小饰条个数。样例In...原创 2022-03-30 17:12:04 · 226 阅读 · 0 评论