
字符串
文章平均质量分 58
Togt
这个作者很懒,什么都没留下…
展开
-
kmp简洁模板(水题入门)
poj2406 题意:求循环节的个数#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=10000005;char s[maxn];int next[maxn];void getnext(){ int len=...原创 2018-05-10 10:41:03 · 546 阅读 · 0 评论 -
后缀数组hdu5558
传送门 题意:求解所有后缀的中小标比当前后缀小的最长前缀匹配,要求lcp相等时输出下标最小的。 题解略有错误,求大佬给测试用例/** @Author: biggf* @Date: 2018-07-03 12:09:33* @Last Modified by: biggf* @Last Modified time: 2018-07-03 19:24:41*/#in...原创 2018-07-03 20:26:33 · 279 阅读 · 0 评论 -
Educational Codeforces Round 44 (Rated for Div. 2) F
传送 题意:在一个字符串里面选取任意两个起始位置不同但长度相同的字符串,判断从前往后字符是否可以一对一映射。题解: 上面两个表格是分别对adcae和cebca的分析,通过hash值可以发现他们的一一映射关系,所以他们是同构的。利用这样的做法hash即可。#include<bits/stdc++.h>#define ll long longusing name...原创 2018-05-24 20:43:28 · 341 阅读 · 0 评论 -
2018江苏省赛G题(hdu6282)
hdu6268 题意:给你aa,bb,abab这样的三个字符串,和两个字符串s,t,让你在t中任意删除或者插入任意多个aa,bb,abab,最后得到t。 题解:思维题,简单手画画就可以得出一个结论,aa,bb,abab,可以得到任意由,a和b组成的且a和b的个数为都为偶数个的字符串。这样s可以变成t就要求c分隔后的每一段a和b同为奇或偶。上代码#include<iostream&...原创 2018-05-26 15:47:27 · 599 阅读 · 0 评论 -
最长公共子序列、最长上升子序列、最长公共上升子序列
1.最长公共子序列:核心代码:for(int i=1;i<n;i++) { for(int j=1;j<m;j++) { if(a[i]==b[j]) { dp[i][j]=dp[i-1][j-1]+1; } e...原创 2018-05-08 13:28:00 · 2731 阅读 · 1 评论 -
ac自动机(模板+一点点小优化)
题意:给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。 题解:ac自动机+加一点点优化,否则过不了,具体见代码,就一行代码。 传送门#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;#include&lt;vector&gt;#include&l原创 2018-05-07 15:25:56 · 906 阅读 · 0 评论 -
manacher(最大回文串算法+手写模板)
poj3976 题意:求每个串的最大回文串长度。 这是一份通过manache算法理解过后手动模拟的算法,纯手写,便于理解#include<iostream>#include<cstdio>#include<cstring>using namespace std;char ch[2000005];int hui[2000005];char ca...原创 2018-05-20 00:05:06 · 322 阅读 · 0 评论 -
后缀数组学习与应用
学习步骤首先明确几个概念:sa[i]:即,排名为i的后缀的起点下标 rank[i]:即,第i个后缀的排名 height[i]:即,sa[i]和sa[i-1]的最长公共前缀 h[i]:即,height[rank[i]],即第i个后缀与前一名的最长公共前缀一些结论结论一: 定义:LCP(i,j)=lcp(suffix(sa[i],suffix(sa[j])LCP(i,j)=...原创 2018-05-12 19:21:11 · 181 阅读 · 0 评论 -
ural1002(字典树+dp)
题意:给你一些数字对应一些字母(一对多),然后给一个数字串和一些字母串,问数字串最少可由哪几个字母串组成。 题解:将字母串对应的数字串插入字典树。然后设dp[i]为数字串第i个数字到最后一个数字最少能用几个字母串构成,dp[i]=min(dp[j]),i+1<=j#include<iostream>#include<cstring>#include<c...原创 2018-05-17 21:49:54 · 186 阅读 · 0 评论 -
hdu5745(字符串dp+bitset优化)
传送门题意:交换相邻字符,用二进制表示匹配。/** @Author: biggf* @Date: 2018-07-04 19:38:55* @Last Modified by: biggf* @Last Modified time: 2018-07-04 20:11:26*/#include<iostream>#include<cstring&g...原创 2018-07-04 20:15:45 · 364 阅读 · 0 评论