字符串
文章平均质量分 55
星辰大少主
重庆oier
展开
-
BZOJ3670: [Noi2014]动物园(DP)
前言这道题理解KMP真是再好不过了,虽然和KMP没什么关系。 但是这里核心就是处理KMP的next数组,而KMP的重难点也是next数组,所以对于刚刚学了KMP的少主来说真的是很恰到好处了。题意求出一个序列每一个前缀的不重合的相同前缀和后缀的个数。 看不懂吧。。。。看这个 题目链接分析虽然说和KMP关系密切并且你必须会KMP,但实际上分析和KMP没啥关系。 大概...原创 2018-03-06 23:28:57 · 189 阅读 · 3 评论 -
BZOJ 2434: [Noi2011]阿狸的打字机(AC自动机/Fail树 + BIT + DFS序)
题目题目链接分析这么多串弄个AC自动机吧。。可以在O(n)的时间复杂度弄出那个trie来的然后如果暴力匹配每个y会超时有一种叫做fail树的东西,就是把fail指针作为边弄成一棵树,根还是没变,这样的话每个结点所代表的字符串(rt->该结点)是它所有子树所代表的字符串的后缀。 对于一个询问(x,y),x可以对它的子树产生影响,只需要统计它的子树中有多少个结点是rt-&g...原创 2018-03-08 20:10:06 · 131 阅读 · 0 评论 -
学习笔记:KMP/AC自动机/trie图/fail树
前言KMP是一个经典的字符串匹配算法。然后AC自动机是基于KMP思想的一个多模板匹配算法。trie图是AC自动机的一个优化。fail树是AC自动机中fail指针构成的有特殊性质的树。KMP算法算法原理设两个字符串长度为n和m。两个模板匹配,如果暴力匹配是暴力枚举起点,最坏时间复杂度O(n * m * min(n,m) )利用一个叫做失配指针的东西,f[i...原创 2018-03-15 23:54:20 · 879 阅读 · 0 评论 -
BZOJ 4566: [Haoi2016]找相同字符(后缀数组的两种做法)
题目原题链接 有两个字符串,询问有多少个相同的子串。 两个字符串长度<=2e5分析后缀数组/后缀自动机裸题,不过我暂时只会后缀数组。然而我做了一上午。。。。我觉得有很大一个问题就是网上有两种题解,然而我没有意识到这两个算法不一样,所以搞混得挺惨的,关键是这两个方法都是用单调栈在维护哎。。首先这道题暴力做法是两两枚举来自不同串所有后缀,它们对答案的贡献就是他们的...原创 2018-03-16 15:33:41 · 319 阅读 · 0 评论 -
BZOJ 3261 最大异或和(可持久化trie)
题目大意给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Qlrx:询问操作,你需要找到一个位置p,满足l<=p<=r,使得: a[p] xor a[p+1] xor … xor a[N] xor x 最大,输出最大是多少。范围是3e5分析带区间的二进制tri...原创 2018-03-06 17:08:25 · 208 阅读 · 0 评论 -
BZOJ 2160: 拉拉队排练(马拉车)
[原题链接(https://www.lydsy.com/JudgeOnline/problem.php?id=2160)分析马拉车板子。代码#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn=2e6+105,mod=19930726;int n;LL ...原创 2018-04-08 21:33:00 · 209 阅读 · 0 评论