Description 给你一个字符串,如果一个串包含两个不重叠的相同子串,那么这个串的价值就是子串的价值+1。问你给定字符串的最大价值子串的价值。 Input 第一行读入字符串长度$n$,第二行是字符串。 Output 一行答案。 Sample Input1 3abc Sample Output1 ...
分类:
其他好文 时间:
2019-01-20 17:33:26
阅读次数:
348
private static ArrayList getMaxSubString(String s1,String s2){ //最大相同子串,s1,s2=min String max=(s1.length()>s2.length())?s1:s2; String min=(max==s1)?s2: ...
分类:
编程语言 时间:
2019-01-14 20:11:06
阅读次数:
234
题面 好像是个经典问题,然而我没做过 建SAM,然后经过每个节点的子串数目就可以求了,多个相同子串算一个的话就把所有siz都搞成$1$,否则就是$right$集合的大小,然后就是常见的递推 求第$k$小是从根节点出发按字典序沿着trans往下走,每次输出对应的字符然后扣掉对应的数量 1 #inclu ...
分类:
其他好文 时间:
2018-12-20 14:26:13
阅读次数:
142
对于一个给定长度为$N$的字符串,求它的第$K$小子串是什么。 Input 第一行是一个仅由小写英文字母构成的字符串$S$ 第二行为两个整数$T$和$K$,$T$为0则表示不同位置的相同子串算作一个。$T=1$则表示不同位置的相同子串算作多个。$K$的意义如题所述。 Output 输出仅一行,为一个 ...
分类:
其他好文 时间:
2018-12-10 20:49:06
阅读次数:
183
description [题面][1] 求给定字符串的第$k(k\le 10^9)$大子串。无解输出 1,$n\le 5\times 10^5$ 分不同位置的相同子串算作一个,不同位置的相同子串算作多个两种情况 solution 我们首先要建立一个$SAM$... 由于$SAM$相当于一个放了当前字 ...
分类:
其他好文 时间:
2018-07-24 21:44:46
阅读次数:
205
AtCoder Regular Contest 097 C - K-th Substring 题意:求一个长度小于等于5000的字符串的第K小子串,相同子串算一个。 K<=5。 分析:这不是弦论那道题吗。。 观察到K<=5,我们把所有长度小于等于5的子串拿出来去重再排个序即可。 代码: D - Eq ...
分类:
其他好文 时间:
2018-07-02 11:04:28
阅读次数:
144
4.26 CF 476 E 题意:给你N($\leq 10^5$)个两两不同字符串,总长$\leq 10^5$。对于每一个字符串要保留一个非空前缀,使得得到的字符串依旧两两不同。求最终字符串总长最小可以是多少。 题解:看上去很经典的样子?开始先头脑风暴了一个傻逼贪心:按长度递增排序,每次贪心地把当前 ...
分类:
其他好文 时间:
2018-04-27 02:14:50
阅读次数:
179
题意概述:对于一个给定长度为N的字符串,求它的第K小子串是什么,T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。N<=500000,K<=10^9. ...
分类:
其他好文 时间:
2018-03-08 13:55:18
阅读次数:
211
http://172.20.6.3/Problem_Show.asp?id=1547 http://www.lydsy.com/JudgeOnline/problem.php?id=4566 似乎后缀自动机是正解,但是后缀数组+并查集也可以乱搞a掉,定义字符串大小的整型变量时候char siz导致r ...
分类:
编程语言 时间:
2018-03-05 12:51:19
阅读次数:
212
"题目链接" Description 给出$n$个序列。找出这$n$个序列的最长 相同 子串。 在这里, 相同 定义为:两个子串长度相同且一个串的全部元素加上一个数就会变成另一个串。 思路 参考: "hzwer" . 法一:kmp 在第一个串中枚举答案串的开头位置,与其余$n 1$个串做$kmp$. ...
分类:
编程语言 时间:
2018-02-12 21:01:52
阅读次数:
192