摘要:
题目大意:给一系列字符串,用小写字母构造出长度为n的至少包含k个字符串的字符串,求能构造出的个数。 题目分析:在AC自动机上走n步,至少经过k个单词节点,求有多少种走法。 代码如下: 阅读全文
摘要:
题目大意:给n个单词,长度不超过L的单词有多少个包含n个单词中的至少一个单词。 题目分析:用长度不超过L的单词书目减去长度在L之内所有不包含任何一个单词的书目。 代码如下: 阅读全文
摘要:
题目大意:判断总共有多少种不同的子串。 题目分析:不同的子串数目为 Σ(后缀SA[i]的长度-height[i])。 代码如下: 阅读全文
摘要:
题目大意:找出至少出现K次的子串的最长长度。 题目分析:二分枚举长度x,判断有没有最长公共前缀不小于x的并且连续出现了至少k次的有序子串区间。 代码如下: 阅读全文
摘要:
题目大意:给一个整数序列,找出最长的连续变化相同的、至少出现两次并且不相重叠一个子序列。 题目分析:二分枚举长度进行判定。 代码如下: 阅读全文
摘要:
题目大意:判断模式串中是否出现模板。 代码如下: 阅读全文
摘要:
题目大意:给出n个字符串,找出所有最长的在超过一半的字符串中出现的子串。 题目分析:将所有的字符串连成一个,二分枚举长度,每次用O(n)的时间复杂度判断。连接字符串的时候中间添一个没有出现过的字符。 代码如下: 阅读全文
摘要:
题目大意:回答任意两个子串的最长公共前缀。 题目分析:后缀数组的模板题。但是输入输出都要外挂。 代码如下: 阅读全文
摘要:
题目大意:n个人、一个区间。每个人都会在某个时间段内按相同的速度(所有人的速度都一样,都是1或-1)在他的区间内从一个端点走到另一个端点(只走一次)。问每个人会与几个人碰面。 题目分析:将时间看成一个维度,区间位置看成另一个维度。那么每个人的状态便构成了一条二维线段。只需判断有几条线段与该线段相交。 阅读全文
摘要:
题目大意:二维空间点修改,询问矩形区域最值。 题目分析:还是比较简单的。 代码如下: 阅读全文