公共串 bzoj-2946 Poi-2000 题目大意:给定$n$个字符串,求他们的最长公共子串。 注释:$1\le n\le 5$,$1\le minlen<maxlen\le 2000$。 想法: 常规套路。 我们把这$n$个串拼一起,中间加上$n-1$个不同的非字符集数组隔开。 紧接着我们二分 ...
分类:
编程语言 时间:
2018-12-12 20:32:20
阅读次数:
198
2946: [Poi2000]公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l ...
分类:
其他好文 时间:
2018-01-08 21:41:10
阅读次数:
140
后缀数组+二分 中间加个字符,然后二分判断即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 100010; int n, top, k, tot, m, ans; int a[N], ...
分类:
其他好文 时间:
2017-07-16 17:22:00
阅读次数:
183
公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果 Input 文件的第一行是整数 n ,表示单词的数量。接下来n行每行一个单词,只由小写字母组成,单词的长度至少为1,最大为2000。 Outpu ...
分类:
其他好文 时间:
2017-05-15 18:32:33
阅读次数:
205
【题目大意】 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 【字符串hash的小笔记】 hash[i]=(hash[i-1]*p+idx(s[i]))%mod,idx为映射值,一般a..z映射1..26; 习惯上,p取一个6到8位的素数即可,mod一般取大素数 1e9+7(100000 ...
分类:
其他好文 时间:
2016-07-24 23:51:02
阅读次数:
273
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2946 先用第一个字符串建后缀自动机,每个节点记录一下每个字符串与之匹配的最大值,那么每个节点对答案的贡献就是所记录的最大值的最小值,把所有刚刚说的最小值取max就是答案了。绕晕了。语文不好真 ...
分类:
其他好文 时间:
2016-05-31 22:18:30
阅读次数:
164
Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果 Input 文件的第一行是整数 n,1<=n<=5,表示单词的数量。接下来n行每行一个单词,只由小写字母组成,单词的长度至少为1,最大为2000。 Ou
分类:
其他好文 时间:
2016-02-19 12:32:42
阅读次数:
229
2946: [Poi2000]公共串
Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 286 Solved: 121
[Submit][Status][Discuss]
Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。
任务:
l 读入单词
l 计算最长公共子串的长度
l...
分类:
其他好文 时间:
2015-07-26 19:23:24
阅读次数:
163
鉴于SAM要简洁一些...于是又写了一遍这题... 不过很好呢又学到了一些新的东西... 这里是用SA做这道题的方法 首先还是和两个字符串的一样,为第一个字符串建SAM 然后每一个字符串再在这个SAM上跑匹配 然而我们最后要的答案是什么呢? 是某个在所有字符串中匹配长度最小值最大的状...
分类:
其他好文 时间:
2015-05-05 12:30:59
阅读次数:
160
给出几个由小写字母构成的单词,求它们最长的公共子串的长度。单词个数=L的区间中如果每个字符串的位置都出现过就可以 应该是第二次这么解决一道公共串的题了.. 然后发现了一些新的东西.. 比如之前处理没有的字符串处理了很久,这次我直接在每两个字符串间添加不同的字符 理由很简单: 对于原来就...
分类:
编程语言 时间:
2015-05-05 10:20:44
阅读次数:
670