【字符串】[CodeForces 963D] Frequency of String【无实现】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hzj1054689699/article/details/80316430

http://codeforces.com/contest/963/problem/D

Description

给出一个字符串S
n次询问,每次询问给出正整数k和字符串m
要求字符串T的最小长度,满足T是S的子串,且m在T中出现了至少K次

n,|S|,|m|100000
保证询问的串互不相同

Solution

一开始看到这题就想SAM然后fail树上乱搞
然后就搞不出来。。

事实上可以暴力
M=|m|
首先询问串的长度种类数最多只有M
最坏就是1,2,3,4,....xx(x+1)2=M,x是根号M级别的

每个长度的所有串在|S|中出现次数之和是|S|级别的
因此所有询问串在|S|中出现次数之和是|S|M

这样就可以暴力了
用AC自动机先把所有出现的位置弄出来
Fail树上乱搞一波,直接扫一扫就好了

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试