E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Substrings
【Live Archive】4671 - K-neighbor
substrings
【FFT+后缀数组】
传送门:【LiveArchive】4671-K-neighborsubstrings题目分析:和Ural1996那题很像,都是通过将一个串反转后就可以将匹配变成卷积了。由于从A串中取出来的串是本质不同的,所以这里我用了后缀数组(用后缀数组纯粹是因为我懒==)做了处理:处理出的height数组,heighti表示字典序第i小的后缀和字典序第i−1小的后缀的最长前缀长度。然我我们可以轻而易举的发现,连
u013368721
·
2015-05-07 16:00
后缀数组
fft
HDU 1238
Substrings
ProblemDescriptionYouaregivenanumberofcase-sensitivestringsofalphabeticcharacters,findthelargeststringX,suchthateitherX,oritsinversecanbefoundasasubstringofanyofthegivenstrings.InputThefirstlineofthei
jtjy568805874
·
2015-04-29 20:00
HDU
C字符串经典
POJ1226——
Substrings
题意,给定一堆字符串,找出最大的公共子串。
zhangmh93425
·
2015-04-25 21:00
字符串
HDU1238 POJ1226
Substrings
最长公共子串(子反串也算)
题目大意:给你n个长度小于100的字符串,让你找出他们之间的最长公共子串。其中,如果一个字符串含有另外一个子串的反串,那么这个子串也算做是他们之间的公共子串。分析:我们可以先找出给出的字符串中长度最小的一个,然后遍历它的所有子串,分别判断这个子串是不是其他字符串的子串。数据量不大,暴力可以过。实现代码如下:#include #include #include usingnamespacestd;
AC_Gibson
·
2015-04-21 16:00
[CF 316G3]Good
Substrings
解题报告
题目SmartBeaverrecentlygotinterestedinanewwordgame.Thepointisasfollows:countthenumberofdistinctgoodsubstringsofsomestrings.Todetermineifastringisgoodornotthegameusesrules.Overalltherearenrules.Eachrulei
wmdcstdio
·
2015-04-13 14:00
解题报告
codeforces
后缀自动机
SPOJ NSUBSTR
Substrings
后缀自动机
题目大意:就是现在给出一个长度不超过25W的字符串S,定义F(x)表示字符串S中长度为x的子串出现的最多次数,例如“ababa"中F(1)=3(“a”出现了3次),F(2)=2("ab“或者"ba"都出现了2次)F(3)=2("aba"出现了2次)F(4)=F(5)=1,对于给出的字符串S,长度为n,输出F(1~n)的值大致思路:首先对于字符串S建立后缀自动机,然后由于每个状态p所代表的子串是一个
u013738743
·
2015-04-11 13:00
Substrings
spoj
后缀自动机
NSUBSTR
[POJ 3415]Common
Substrings
(后缀数组)
题目链接http://poj.org/problem?id=3415题目大意求字符串A与B的长度大于等于m的公共子串个数。思路看到公共子串一类的题目,很容易想到用后缀数组做。我们首先把B串加到A串后面,中间用一个字符$分割开,然后求后缀数组。对于A的后缀i和B的后缀j而言,若它们的LCP>=m,则它们会给最终的答案贡献(i−m+1)(j−m+1)。一个显然的O(n2)做法就是枚举上述的i,j,累计
qpswwww
·
2015-04-09 21:00
【codechef】 Count
Substrings
(大数技巧题)(二分+计数,易超时)
Youaregivenastring S oflength N consistingonlyof 0sand 1s.Youarealsogivenaninteger K.Youhavetoanswer Q queries.Inthe ith query,twointegers Li and Ri aregiven.Thenyoushouldprintthenumberofsubstringsof
cacyth
·
2015-04-09 18:00
[SPOJ DISUBSTR]Distinct
Substrings
(后缀数组)
题目链接http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19282题目大意给出一个串,求这个串中有多少个不同的子串。思路如果计入重复的话,这个串的子串个数为n(n+1)2(一共有n个后缀,对于以下标t开头的后缀,有t个后缀的前缀,就是个等差数列求和)那么现在不计入重复,可以很容易发现,后缀sa[i]与后缀sa[i−1]可能出现
qpswwww
·
2015-04-08 21:00
POJ1226---
Substrings
(后缀数组+二分)
DescriptionYouaregivenanumberofcase-sensitivestringsofalphabeticcharacters,findthelargeststringX,suchthateitherX,oritsinversecanbefoundasasubstringofanyofthegivenstrings.InputThefirstlineoftheinputcon
Guard_Mine
·
2015-04-07 17:00
后缀数组
HDOJ 1238:
Substrings
DescriptionYouaregivenanumberofcase-sensitivestringsofalphabeticcharacters,findthelargeststringX,suchthateitherX,oritsinversecanbefoundasasubstringofanyofthegivenstrings. InputThefirstlineoftheinputf
axiqia
·
2015-04-04 14:00
Good
Substrings
(字符串)
You’vegotstrings,consistingofsmallEnglishletters.SomeoftheEnglishlettersaregood,therestarebad.Asubstrings[l…r](1 ≤ l ≤ r ≤ |s|)ofstrings = s1s2…s|s|(where|s|isthelengthofstrings)isstring slsl + 1…sr
Guard_Mine
·
2015-04-01 17:00
字符串hash
POJ 3415 Common
Substrings
(长度不小于k 的公共子串的个数--后缀数组+单调栈优化)
题意:给定两个字符串A和B,求长度不小于k的公共子串的个数(可以相同)。样例1:A=“xx”,B=“xx”,k=1,长度不小于k的公共子串的个数是5。样例2:A=“aababaa”,B=“abaabaa”,k=2,长度不小于k的公共子串的个数是22。思路:如果i后缀与j后缀的LCP长度为L,在L不小于K的情况下,它对答案的贡献为L-K+1.于是我们可以将两个串连起来,中间加个奇葩的分隔符,做一遍后
kalilili
·
2015-03-31 22:00
SPOJ694--- DISUBSTR - Distinct
Substrings
(后缀数组)
Givenastring,weneedtofindthetotalnumberofitsdistinctsubstrings.InputT-numberoftestcases.TFileName:SPOJ694.cpp>Author:ALex>Mail:
[email protected]
>CreatedTime:2015年03月31日星期二18时27分46秒******************
Guard_Mine
·
2015-03-31 19:00
后缀数组
Substrings
(hdu1238)字符串匹配
SubstringsTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7205AcceptedSubmission(s):3255ProblemDescriptionYouaregivenanumberofcase-sensitivestringsofalphabeti
u010579068
·
2015-03-23 11:00
LeetCode 87 - Scramble String
Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty
substrings
yuanhsh
·
2015-03-21 01:00
LeetCode
LeetCode 87 - Scramble String
Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty
substrings
yuanhsh
·
2015-03-21 01:00
LeetCode
Distinct
Substrings
(不相同的子串的个数--后缀数组)
题意:给定一个字符串,求不相同的子串的个数。思路:子串的总个数是n*(n+1)/2现在用height数组解决所以把子串的个数看成是以i字符串开头的子串的个数的和,那么总个数减去sum(height[i]),即是答案因为height[i]是sa[i]与sa[i-1]后缀的相同前缀的长度,那么以前面那种计算子串的方式,也就是重复了height[i]个子串//DistinctSubstringsacce
kalilili
·
2015-03-18 19:00
[置顶] codeforce 271D Good
Substrings
(后缀自动机+dp)
题意:给出一个串,和一个01串,01串只有26个字符,每个字符对应26个英文字母表示这个字符是否是好的,1表示好的,0表示不好的。所给的串中多少个不同子串至多包含k个坏字母。题解:这题没想到用dp来做,一直去想性质,其实用dp做挺简单的。dp[i][j]表示在后缀动机上的i点,现在有j个坏字母对应子串的个数。明显:dp[i][k]+=dp[next[i][j]][k]if(alp[j]==1)dp
My_ACM_Dream
·
2015-03-15 17:00
HDU 4455
Substrings
树状数组 + DP
题目大意:就是现在给出一个长度不超过10^6的数组,数组中的每个数1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usi
u013738743
·
2015-03-10 11:00
dp
HDU
树状数组
Substrings
4455
spoj 8222
Substrings
(后缀自动机+dp)
题意:给出一个串,定义这样的F(x){表示在长度为x的串中出现次数最多的串的长度},求出F(i) 1 #include #include #include #include #include #include #include #include usingnamespacestd; #defineB(x)(1=0;i--)pos[--cnt[len[i]]]=i; for(inti=0;i=0;i
My_ACM_Dream
·
2015-03-09 23:00
poj 1226
Substrings
(后缀数组应用)
题意:给出n个串,求一个最长的串,使得这个串或是这个串反转后的串出现在n个串中。题解:将每个串反转接到原串后面,用分隔符分开,然后就可以像求最长公共子串那样做了。#include #include #include #include #include #include #include #include #include usingnamespacestd; #defineB(x)(1g; vo
My_ACM_Dream
·
2015-03-07 21:00
poj 3415 Common
Substrings
(后缀数组应用)
题意:给出两个串,求着两个串的公共子序列至少是k长度的个位数(允许重复)题解:先是看了国家队论文得到了点启示,然后具体是想出处理的办法,但是操作起来各种不顺,之后参照了别人的代码,了解到了一种和我做法一样的处理方法。启示这题相当于贪心,对于任意两个后缀(分别是A串和B串的),对于这两个后缀,如果最长前缀是L,那么要得到至少是k的长度那么L>=k,于是很容易可以看出这个两个后缀为整个答案贡献了L-k
My_ACM_Dream
·
2015-03-06 20:00
[LeetCode] Scramble String 爬行字符串
; Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty
substrings
·
2015-03-06 15:00
LeetCode
A and B and Interesting
Substrings
(前缀和+map)
sum数组表示区间前缀和。如果位置i+1到位置j-1的和为零,那么sum[i]=sum[j-1],既sum[i]+a[k]=sum[j](i和j位置字母为k)这样的话对每个字母枚举所有位置做起终点是可以的,但是时间复杂度为N^2。考虑用一个map维护前缀和中每个值出现的次数,这样可以用log时间查看某个值的前缀和存不存在。代码:// //main.cpp //294D.AandBandIntere
Baoli1008
·
2015-03-05 23:00
map
前缀和
A and B and Interesting
Substrings
D.AandBandInterestingSubstringstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAandBarepreparingthemselvesforprogrammingcontests.Afterseveralyearsofdoingspo
u012797220
·
2015-03-05 16:00
spoj 694 Distinct
Substrings
(后缀数组应用)
题意:给出长度为n的串,求这个串中不通的子串个数。题解:首先我们分析,这种题应该从每个子串入手,每个子串肯定是后缀的前缀,所以分析后缀的一些关系。单独分析一个后缀能为不通子串个数贡献多少,如果按照SA的顺序不断计算出后缀,当要加入k这个后缀时,他的长度为n-SA[k],那么他可以贡献出的前缀也就是子串的个数肯定有n-SA[k],但是他和前一个后缀有重叠部分重叠部分的长度便是多计算的子串个数,于是减
My_ACM_Dream
·
2015-03-04 21:00
A and B and Interesting
Substrings
(学习利用map容器提高效率的技巧)
Link:http://codeforces.com/contest/519/problem/DD.AandBandInterestingSubstringstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAandBarepreparingthemselvesfo
Enjoying_Science
·
2015-03-01 23:00
算法
ACM
Codeforces Round #294 Div2 D(A and B and Interesting
Substrings
)
Problem给一个长度为N的字符串S,字符集是[a,z],每个字符都有一个权值Vi,求有多少个子串subS满足以下条件:1.|subS|>=22.subS[0]=subS[|subS|−1]3.∑|subS|−2i=1Vi=0LimitsTimeLimit(ms):2000MemoryLimit(MB):256N∈[1,105]Vi∈[−105,105]LookupOriginalProblem
UESTC_peterpan
·
2015-03-01 20:00
前缀和
map统计
UVA 10829 L-Gap
Substrings
ProblemIfastringisintheformUVU,whereUisnotempty,andVhasexactlyLcharacters,wesayUVUisanL-Gapstring.Forexample,abcbabcisa1-Gapstring.xyxyxyxyxyisbotha2-Gapstringandalsoa6-Gapstring,butnota10-Gapstring(b
UESTC_peterpan
·
2015-03-01 20:00
字符串
重复子串
调和级数
A and B and Interesting
Substrings
D.AandBandInterestingSubstringstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAandBarepreparingthemselvesforprogrammingcontests.Afterseveralyearsofdoingspo
u014355480
·
2015-03-01 18:00
ACM
codeforces
Amazon Interview - Longest Repeated Substring
If there are more than one Longest Repeated
Substrings
, get any one of them.
yuanhsh
·
2015-02-28 15:00
substring
Codeforces 386C Diverse
Substrings
计数问题
题目大意:就是给定一个长度不超过3*10^5的字符串,含有的字符都是小写字母(‘a'~'z'),定义字符串的多样性d(s)为字符串中含有的不同字母的个数,比如d("aaa")=1,d("abbbc")=3对于给出的字符串求其所有子串中对应的d值为k的串的数量(子串只要起始位置或者终点位置不同就视作不同子串)(k从1到给出的串的d值,对于这所有的k都要求出其数量)大致思路:看来是个很巧妙地计数问题,
u013738743
·
2015-02-26 22:00
计数
codeforces
Substrings
386C
Diverse
Diverse
Substrings
(字符串+双指针)
d(s)为字符串s的字符种类个数,求d(s)的值,以及s的子串中,字符种类为1,2,...,d(s)的分别有多少个。CF上的标签是"dp"和“twopointers"。第二次遇到的双指针的题,上一次遇到是CF的514D。这个的双指针比514D的要稍微麻烦一些,实际上是”三指针“。双指针主要用于,需要遍历某个区间的所有子区间的时候,直接枚举左右边界的话时间复杂度是O(n^2),用双指针的话,是O(n
u012891242
·
2015-02-26 19:00
字符串
codeforces
hdu1238---
Substrings
ProblemDescriptionYouaregivenanumberofcase-sensitivestringsofalphabeticcharacters,findthelargeststringX,suchthateitherX,oritsinversecanbefoundasasubstringofanyofthegivenstrings.InputThefirstlineofthei
Guard_Mine
·
2015-02-17 15:00
字符串
UVA 10829 L-Gap
Substrings
后缀数组
题目大意:现在定义如果一个字符串S可以被写成UVU的形式(U,V是两个非空字符串),且V的长度是L,那么串S是L-Gap串一个字符串可能既是L1-Gap串又是L2-Gap串,现在给出一个字符串S(其长度不超过50000)给定整数G,求给出的字符串的所有子串中G-Gap字符串的数量(如果多个子串相同但是出现位置不同视为不同子串)大致思路:刚开始我想的是枚举G-Gap子串可能的启示位置然后根据位置i,
u013738743
·
2015-02-13 15:00
后缀数组
Substrings
uva
L-Gap
10829
SPOJ 705 SUBST1 New Distinct
Substrings
后缀数组
题目大意:给出一个字符串(长度 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; con
u013738743
·
2015-02-09 13:00
后缀数组
spoj
705
SUBST1
SPOJ 694 DISUBSTR Distinct
Substrings
后缀数组
题目大意:对于给出的字符串(长度不超过1000)求其不同的子串的个数大致思路:就是一个简单的height数组性质的利用, 如果每个子串我们用从位置j开始且长度为k来表示不同的子串的话则一个height[i]值说明表示从位置sa[i-1]开始的和sa[i]开始的长度为k #include #include #include #include #include #include #include #i
u013738743
·
2015-02-09 13:00
distinct
后缀数组
Substrings
spoj
694
DISUBSTR
POJ 3415 Common
Substrings
后缀数组 + 单调栈维护
题目大意:用A[i,k]表示以字符串第i位开始长度为k的字符串,B[j,k]同理对于给定的字符串A,B和整数K,求使得A[i,k]==B[j,k]的三元组(i,j,k)的数量,其中要求k>=K大致思路:很容易想到先将两个字符串连接起来中间用一个没有出现的值隔开,求后缀数组首先如果我们只考虑对于给定的k==K的三元组数量,是可以直接根据后缀数组中height数组进行分组统计的,但是由于要求k>=K如
u013738743
·
2015-02-05 15:00
poj
后缀数组
common
Substrings
单调栈
3415
uva10829 - L-Gap
Substrings
后缀数组+RMQ
ProblemJL-GapSubstringsInput:StandardInputOutput:StandardOutputIfastringisintheformUVU,whereUisnotempty,andVhasexactlyLcharacters,wesayUVUisanL-Gapstring.Forexample,abcbabcisa1-Gapstring.xyxyxyxyxyisb
corncsd
·
2015-02-04 20:00
POJ 1226
Substrings
KMP暴力 或 后缀数组
题目大意:就是现在多组测试数据( #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; co
u013738743
·
2015-02-01 16:00
KMP
poj
后缀数组
Substrings
1226
Substrings
Substrings
Time Limit:1000MS Memory Limit:32768KB  
·
2015-01-19 20:00
substring
【POJ3415】Common
Substrings
后缀自动机
转载请注明出处:http://blog.csdn.net/vmurder/article/details/42710069其实我就是觉得原创的访问量比未授权盗版多有点不爽233。。。题意:给两个串,问有多少长度大于等于K的公共子串(位置不同也算一对)题解:后缀自动机DP对第一个串建立后缀自动机,然后做一些预处理,然后拿第二个串在后缀自动机上跑,到每个节点加一次贡献。但是这样需要每个点往parent
Vmurder
·
2015-01-14 15:00
common
Substrings
后缀自动机
sam
POJ3415
【POJ】3415 Common
Substrings
【后缀数组+单调栈】
传送门:【POJ】3415CommonSubstrings题目分析:题目要求的实质是计算A的所有后缀和B的所有后缀之间的最长公共前缀的长度,然后把最长公共前缀长度不小于k的部分全部加起来(即A的后缀ai和B的后缀bj的最长公共前缀为x且x大于等于k,则答案累加上x-k+1)。由于枚举所有ai和bj的话是O(n^2)的复杂度,所以我们需要一些技巧来优化。比较好的方法是单调栈。首先将两个串连接到一起,
u013368721
·
2014-12-10 21:00
poj
HDU 1238
Substrings
【c++ string】
SubstringsTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7450 AcceptedSubmission(s):3361ProblemDescriptionYouaregivenanumberofcase-sensitivestringsofa
u013806814
·
2014-12-10 00:00
hdu 4455
Substrings
(树状数组+递推)
题目链接:hdu4455
Substrings
题目大意:给定一个长度为N的序列,现在有Q次询问,每次给定一个w,表示长度,输出序列中长度为w的连续子序列的权值和。序列的权值表示序列中不同元素的个数。
u011328934
·
2014-11-17 23:00
HDU 4455
Substrings
首先,我们来看:{1} {2} {3}{1,2}{2,3}{1, 2, 3}后面一个可以看成把前面一个的最后一个子串去掉,然后在每第i个子串里面添加第i+w-1个数[w,n]区间内的数都按顺序添加到了第1...n-w+1个子串后面。对第i 个数,他被添加到了以a[i-w+1]开始的子串中,如果l[i]=w)-[n-w+2,n]区间中多少不同的数SubstringsTimeLimit:10000/5
u011788531
·
2014-11-14 10:00
【后缀数组】 POJ 3415 Common
Substrings
看那篇后缀数组的神论文吧。。。我也不是很懂。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn300005 #definemaxm300005 #defineeps1e-10 #define
blankcqk
·
2014-09-30 15:00
poj
POJ - 3415 Common
Substrings
(后缀数组求长度不小于 k 的公共子串的个数+单调栈优化)
DescriptionAsubstringofastring T isdefinedas:T( i, k)= TiTi+1... Ti+k-1,1≤ i≤ i+k-1≤| T|.Giventwostrings A, B andoneinteger K,wedefine S,asetoftriples(i, j, k):S ={( i, j, k)| k≥ K, A( i, k)= B( j, k)
u011345136
·
2014-09-29 11:00
SPOJ - DISUBSTR Distinct
Substrings
(后缀数组求不相同的子串个数)
DescriptionGivenastring,weneedtofindthetotalnumberofitsdistinctsubstrings.InputT-numberoftestcases.T #include #include #include #include usingnamespacestd; constintmaxn=1010; intsa[maxn];//SA数组,表示将S的
u011345136
·
2014-09-26 19:00
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他