
字符串
beckyUp
他强任他强,过题我在行
展开
-
hdu4513 [manacher模板题]
#include <bits/stdc++.h>#define cl(a) memset(a,0,sizeof(a))using namespace std;const int maxn= 2e5+50;const int mod=1e9+7;int a[maxn];int pal[maxn];int n;int manacher(){ int max_len...原创 2018-09-02 16:10:24 · 180 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 I. Skr【回文树】
题目分析,首先这个题是一个经典的求字符串中不同的回文子串的题,那么这个题我们可以用回文树来做,具体回文树的实现过程去看其他的博客,这里就不再赘述。 那么我们通过回文树可以得到什么呢? 可以在线性的时间复杂度内得到2棵树,一棵树代表的是偶数回文串,另一棵树代表的是奇数回文串。 举例 我们以 0为根节点的作为偶回文 1为根节点的作为奇数回文串 那么如果我们有一个串 1121 那么我们就会得到...原创 2018-09-02 20:08:44 · 292 阅读 · 0 评论 -
后缀自动机的模板
后缀自动机真是个好东西#include <bits/stdc++.h>#define cl(a) memset(a,0,sizeof(a))#define ll long long#define pb(i) push_back(i)#define sc(x) scanf("%d",&x)using namespace std;const int maxn=2010...原创 2018-10-15 21:57:42 · 321 阅读 · 0 评论 -
最长公共子串 Longest Common Substring SPOJ LCS
模板题,数组要开的大一点#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#define cl(a) memset(a,0,sizeof(a))#define ll long long#define pb(i) push_back(i)#de...原创 2018-10-16 14:25:54 · 142 阅读 · 0 评论 -
SPOJ NSUBSTR Substrings【后缀自动机】
例题#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#define ll long longusing namespace std;const int N=2010000;char s[N];int fa[N],ch[N][26],len[N],...原创 2018-10-16 22:31:26 · 151 阅读 · 0 评论 -
Longest Common Substring II [后缀自动机]
注意更新祖先的状态#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#define cl(a) memset(a,0,sizeof(a))#define ll long long#define pb(i) push_back(i)#defin...原创 2018-10-17 10:35:05 · 158 阅读 · 0 评论 -
病毒侵袭持续中 HDU - 3065 【AC自动机】
在一个串中找出给定子串出现的次数#include<bits/stdc++.h>#define cl(a) memset(a,0,sizeof(a))#define rep(i,a,b) for(int i=a;i<=b;i++)using namespace std;char s[1005][150];struct Trie{ int nxt[1005*55...原创 2018-10-22 14:37:00 · 169 阅读 · 0 评论 -
病毒侵袭 HDU - 2896 【AC自动机】
#include <bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<=b;i++)using namespace std;struct Trie{ int nxt[210*500][128],fail[210*500],ends[210*500]; int root,L; int newnode() ...原创 2018-10-21 09:40:02 · 136 阅读 · 0 评论 -
2018 icpc Beijing Regional H 【dp+ac自动机】
题目大意给定一个串,长度为m, 询问存在多少长度为n的串,使得与长度m的串对应位置匹配最多只有一个字符不相同的方案数题目分析如果我们考虑串进行匹配的化,很难去重因此我们反过来考虑考虑匹配不上的情况那么要匹配的串只有m+1个,所以我们只要考虑当前串的一个后缀是否是m+1个串的前缀即可。然后通过后缀进行转移f[i][j] 表示 前i项的后缀为状态j的时候的方案数那么对于第i+1项,...原创 2019-09-19 11:30:53 · 285 阅读 · 0 评论