疯狂匹配题解

首先我们可以求出从每个L开始匹配,失配前最后一个匹配的位置,这个位置+1就是下一次匹配开始的位置,并且记录下来。
这一步用二分+哈希即可。
有了上面求的这个东西,我们就可以倍增了,用ST表存下L出发走2的次幂步能到的最后一个位置。
对于每一个询问,直接用倍增数组跳就好了。
这样记录从0出发的次数也很容易,就相当于是失配次数。
至于结束位置,可以用哈希+map来存储。
最终总复杂度为O(qlogm)

全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务