随笔分类 - 字符串-kmp
摘要:题意给出n个01字节和m个01字节,要求用后者去匹配前者,两个串能匹配当且仅当除了每个字节末位不同,其他位都要相同。问匹配后者至少有多少个末位不同。(1≤m≤n≤2.5×105) 分析首先我们可以用kmp计算出能匹配的位置,然后单独考虑末位不同的...
阅读全文
摘要:题意给出n个回文串si(∑ni=1|si|≤2000000)求如下二元组(i,j)的个数si+sj仍然是回文串。 分析这道题其实是一道傻逼hash题,可是为了学习拓展kmp我就写了拓展kmp。其实我们考虑a+b如果是回文串,那么a的...
阅读全文
摘要:题意给一个n(1≤n≤100000)个点不自交的多边形,求对称轴数目。 分析将多边形表示成长度和角的形式(用有向面积来表示角也行),然后匹配。 题解匹配可以用kmp或manacher。 include <bits/stdc++.h using namespace std; ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3670题意:太水了= =#include using namespace std;const int N=1000005, mo=1000000007;int n, p[N], pos[N], num[...
阅读全文
摘要:http://poj.org/problem?id=2406题意:给定一个字符串 L,已知这个字符串是由某个字符串 S 重复 R 次而得到的,求 R 的最大值。(长度#include #include #include #include using namespace std;int p[20000...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1009好神的题orzzzzzzzzzz首先我是连递推方程都想不出的人。。。一直想用组合来搞。。看来我是sb。。设f[i,j]表示前i个字符匹配了前j个不吉利数字的方案,即i-j+1~i都是不吉利数字那么...
阅读全文
摘要:复杂度:O(len(a)+len(b))技巧及注意:在匹配的时候记住先要自身匹配然后再匹配即可,同时边界问题不能忽略,处理好点吧。#include #include using namespace std;const int N=10000;char a[N], b[N];int p[N];int ...
阅读全文