BZOJ
文章平均质量分 80
Gatevin
这个作者很懒,什么都没留下…
展开
-
BZOJ 2160 拉拉队排练 Manacher + 前缀和
题目大意:就是现在给出一个长度为 n 的字符串(1 对于给出的长度为n的字符串如果其回文串的数量比K少则输出-1, 否则输出所有回文串中长度为奇数的最长的前K个回文串的长度的乘积, 结果对于19930726取模输出大致思路:首先可以用manacher算法确定每个位置的回文半径, 由于这里只需要长度是奇数, 所以不需要再原来的字符串的相邻两个字符之间插入未出现的字符, 直接在原创 2015-03-20 18:53:16 · 1564 阅读 · 0 评论 -
BZOJ 2565 最长双回文串 Manacher
题目大意:定义双回文串G是指一个可以被拆分成两个部分(S和T)的字符串G = S + T, 且S和T都是回文串的串, G自己本身可以不是回文串给出一个长度为n ( 2 大致思路:首先可以相当manacher算法当中有这样一个过程, 用两个辅助变量mx和p分别表示已有回文半径覆盖到的最右边界和对应中心的位置, 然后在求解过程中更新mx和p, 考虑到S和T的中间字符作为分隔的位原创 2015-03-20 22:03:48 · 2042 阅读 · 0 评论 -
BZOJ 2342 [Shoi2011] 双倍回文 Manacher + set维护
题目大意:就是现在给出一个长度为n的字符串(1 大致思路:首先用manacher处理处所有字符为中心的回文半径, 然后用set维护对于每个正中心的位置查询左中心的位置即可 (论文题)细节写在代码注释里了代码如下:Result : Accepted Memory : 18264 KB Time : 748 ms/********原创 2015-03-24 10:53:38 · 1038 阅读 · 0 评论 -
BZOJ 2806 (ctsc 2012) Cheat 后缀自动机预处理 + DP
题目大意:就是现在有m个01串代表搜集的文章, 现在要检查n篇作文, 对于每一篇作文找到最大的L值, 一篇文章的L值可以将这篇文章分割成多个部分, 其中长度>=L的且在m个01串中出现过的串称之为熟悉的串, 熟悉的串的长度加起来要达到文章总长度的90%就称这篇文章熟悉, 求最大的L使得这篇文章熟悉大致思路:首先将m篇文章连起来中间用另外的字符隔开, 然后将要检查的作文在这个自动原创 2015-04-28 09:38:54 · 840 阅读 · 0 评论 -
BZOJ 2555 SubString 后缀自动机
题目大意:如题面所述, 在线状态下接受添加字符和查询某个字符串出现的次数加上了一些加密的条件使得被迫在线查询大致思路:就是后缀自动机的裸题吧=_=没什么特别的, 直接贴代码好了, 不懂的看代码细节吧代码如下:Result : Accepted Memory : 140140 KB Time : 6044 ms/* * A原创 2015-05-05 18:35:06 · 629 阅读 · 0 评论 -
BZOJ 1036 树的统计Count 树链剖分
题目大意:给出一棵树, 3种操作1.询问u到v路径上的最大点权2.询问u到v路径上的点权和3.修改i点权值为w大致思路:树链剖分练习题第5道...很水树链剖分之后用线段树维护区间最大值和区间和即可, 单点修改区间查询代码如下:Result : Accepted Memory : 4356 KB Time : 2468原创 2015-09-08 16:28:28 · 534 阅读 · 0 评论 -
BZOJ 1588 营业额统计 (Splay Tree)
题目大意:中文题面= =大致思路:作为初学Splay的第一道练习题.....使用到的操作:1.在原序列末尾插入新元素, 键值不出现重复2. 寻找比某个键值小或者大的最近的键值, 通过Splay转为求根节点的前驱和后继代码如下:Result : Accepted Memory : 2836 KB Time : 140 ms原创 2015-08-21 16:14:31 · 444 阅读 · 0 评论 -
BZOJ 2243 染色 树链剖分
题目大意:就是现在给出一棵树, 两种操作1.将u到v路径上的所有点的颜色更改为c2.询问u到v路径上的点的颜色按经过顺序写成一排之后, 连续相同的数的段数大致思路:树链剖分练习第4题没有什么难度...就是用线段树维护区间中不同连续颜色数量的时候, 记录当前区间最左边和最右边的颜色然后进行合并的时候怕暖两个区间将要合并的边界颜色是否一样就行因为我使用的树链剖分模板原创 2015-09-08 15:39:17 · 455 阅读 · 0 评论 -
BZOJ 2434 阿狸的打字机 (AC自动机 + 树状数组)
题目大意:中文题面, 就是在解密串之后询问第x行的串在第y行的串中出现了几次串的最大长度 大致思路:首先不难将给出的串解出来插入到Trie树中, 那么对于每一次询问, 其实就是在对于所有串建立AC自动机之后, 考虑AC自动机的fail树, 第x行的字符串的结尾位置的结点是u的话, 就相当于问在fail树中, 以u为根的子树下有多少个结点是AC自动机上第y行的字符串经过的点原创 2015-10-21 18:33:01 · 721 阅读 · 0 评论