Strings
文章平均质量分 80
haha593572013
这个作者很懒,什么都没留下…
展开
-
zoj 3587 蛮好的KMP题
我以前做过的KMP http://www.cnblogs.com/wuyiqi/tag/KMP/题意:从S串中拿出两个子串能拼成T串的方案有多少种,两个子串可以重复这道题其实要解决的问题就是求T串的某个前缀在S串中出现了几次(cnt[]) 以及T串的某个后缀在S串中出现了几次(cnt2[]),那么答案就是cnt[i]*cnt2[len-i]的和具体求的过程就很简单了,cnt[ne原创 2012-08-10 11:58:49 · 1243 阅读 · 1 评论 -
poj 3415 , poj 3581,BZOJ 3538
后缀数组总结:http://blog.csdn.net/crazy_ac/article/details/9666833poj 3415char s1[N],s2[N]; int val[N],num[N]; __int64 solve(int n,int len,int k,int flag) { int tot , top = 0; __int原创 2013-08-09 16:12:18 · 1429 阅读 · 0 评论 -
BZOJ 2565 Mancher 算法求 最长双回文串
http://www.lydsy.com/JudgeOnline/problem.php?id=2565求出最长的子串可以分成两个回文串先处理出以每个位置为中心的最长回文子串,然后我是求了两个这样的数组left[] right[],分别表示某位置往左最长的回文子串(以该位置结尾),右边的雷同需要线性扫两遍。。。处理这两个数组的时候细节问题整了半天,所幸最后还是整出来了。#i原创 2013-04-01 13:19:25 · 1505 阅读 · 0 评论 -
zoj 3296 Mancher 算法 + 最小区间覆盖
给你一个字符串,问你最少通过几次拼接可以拼成这个串,每次拼接只能拼接两个回文串,可以重叠。思路:先求出以每个点为对称轴的所有的最长回文子串代表的区间,本来要考虑是回文串是奇数还是偶数的,不过 Mancher算法很好的解决了这个问题。。。。接下来就是选取最少的区间覆盖整个区间,然后就是赤裸裸的区间覆盖问题了,用个贪心就可以了:维护一个当前覆盖到的最远的距离now_end,那么接下来要选的线段原创 2013-03-29 16:06:22 · 1427 阅读 · 0 评论 -
AC自动机+数据结构 阿狸的打字机
题目链接题意:中文题我就不多说什么了以前也做过几个AC自动机+数据结构优化的题目,都是建好fail树然后就跟ac自动机无关了,所以这种题目都必须深刻理解AC自动机的原理以及fail树是怎么回事。第一步:先读入字符串,建好AC自动机,我在这里被坑了,,,根据题目的特殊性,可以O(n)插入到字典树里面第二步:建成fail树,预处理dfs序。第三步: 离线回答询问。原创 2013-01-28 00:04:28 · 1435 阅读 · 0 评论 -
AC自动机 fail树 线段树维护
http://codeforces.com/problemset/problem/163/Ehttp://acm.hdu.edu.cn/showproblem.php?pid=4117上面两题我都是用AC自动机 + 线段树写的当我们用AC自动机解决DP 或者 统计问题的时候,如果要支持更新操作,就需要数据结构的帮忙了比如codeforces 163E,背景是最简单的多串匹配,但原创 2012-10-25 11:15:06 · 1997 阅读 · 0 评论 -
空罐 AC自动机 + DP 好题
链接:http://zerojudge.tw/ShowProblem?problemid=b179做这道题首先要对ac自动机理解透彻!!蛮好的一道题目,每一天字符串除了会在尾部扩展一个,开头的字符还会消失使得长度变短。最后要统计n天的时间内多少个串消失了,多少个串生病住院了(包含了病毒串)要描述这个状态,需要考虑经过了几天 串的长度是多少 停留在哪个节点,一般自动机 dp都是这样,原创 2012-10-15 20:31:57 · 1160 阅读 · 0 评论 -
poj 1625 Censored! AC自动机+DP +高精度 + C艹 + java
挺简单的一道题,搞了很久,主要是用java写的时候对java不熟悉,各种错误都出来了,不过学到了不少这题用DP去构造就可以了,另有一题加强版(poj 2778)题意一样,只不过需要用到矩阵乘法dp[i][j]表示长度为i的串走到了j节点的方案数(不包含病毒串)先献上java代码,输入问题要注意啊,可能有大于127的字符出现,java的读入很蛋疼,没好好学过java还真不知道要这原创 2012-10-11 19:58:01 · 1467 阅读 · 0 评论 -
hdu 2243 poj 2778 AC自动机 + 经典矩阵乘法
两个题差不多,只不过hdu上的恶心一点,对2^64取模,其实就相当于不用取模,所有的数都用unsigned __int64 即可,注意,无符号类型6-9就不是-3了哦经典矩阵乘法是指求A+A^2+A^3+A^4+....A^n做法在这里http://blog.csdn.net/haha593572013/article/details/8001943然后这两题主要要做的就是构造trie原创 2012-10-11 20:18:51 · 1421 阅读 · 0 评论 -
SRM 557 小记
250pt: 水题500pt:状态压缩枚举,系统测试挂了,囧。。。1000pt:可以这样抽象题意,构造长度为len的且包含模式串的总权值为0的串,求这样的串的个数,字符串由‘U’和‘D’组成,‘U’:+1 ‘D’:-1.DP,套了个AC自动机,大材小用了- -状态很简单的,转移的时候要注意转移到的状态是否已经包含模式串#include#include#include原创 2012-10-11 11:16:15 · 1201 阅读 · 0 评论