后缀数组
文章平均质量分 56
ypxrain
这个作者很懒,什么都没留下…
展开
-
JZOJ 3638. 【COCI2013】slasticar
题目大意给出一个长度为n的字符串A,接下来给出m个字符串,对于每个字符串B,用给出的方法去与A匹配: 1. 设B的长度为L,先与A的位置为1…L的一段进行匹配:先比较A[1]和B[1],接下来比较A[2]和B[2],直到比较完A[L]和B[L]全部匹配或出现一个不相同(即A[i]≠B[i]) 2. 如果匹配失败,则匹配A的2..L+1和B的1..L,如果得不到长度为L的串(如:A的长度为12原创 2017-03-13 21:47:33 · 490 阅读 · 0 评论 -
BZOJ 1031: [JSOI2007]字符加密Cipher
Description 喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法 :把需要加密的信息排成一圈,显然,它们有很多种不同的读法。例如下图,可以读作: JSOI07 SOI07J OI07JS I07JSO 07JSOI 7JSOI0把它们按照字符串的大小排序:07JSOI 7JSOI0 I07JSO JSOI07 OI07JS SOI原创 2017-04-22 09:13:25 · 223 阅读 · 0 评论 -
bzoj 5073: [Lydsy1710月赛]小A的咒语
给出两个字符串A,B和一个常数x,问能否从A中取不超过x段出来,将其按原来顺序拼接后可以组成B。Solution我们可以设f[i,j]表示A的前i个字符选了j段出来能拼成的B的最长前缀是多少。 用后缀数组+RMQ即可做到O(1)转移Code#include <bits/stdc++.h>const int N = 200005;int n,m,x,f[1...原创 2018-04-26 21:47:31 · 283 阅读 · 0 评论