「JLOI2015」装备购买
发表于
「2017 山东一轮集训 Day1」Sum
发表于
「TJOI2016&HEOI2016」字符串
发表于
问题描述
佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物。生日礼物放在一个神奇的箱子中。箱子外边写了一个长为 $ n $ 的字符串 $ s $,和 $ m $ 个问题。佳媛姐姐必须正确回答这 $ m $ 个问题,才能打开箱子拿到礼物,升职加薪,出任 CEO,嫁给高富帅,走上人生巅峰。每个问题均有 $a, b, c, d$ 四个参数,问你子串
$s[a \ldots b]$ 的所有子串和 $s[c \ldots d]$ 的最长公共前缀的长度的最大值是多少?佳媛姐姐并不擅长做这样的问题,所以她向你求助,你该如何帮助她呢?
算法讨论
首先二分一个答案$mid$,问题变为判定$[a,b-mid+1]$区间内的后缀与后缀$c$的LCP是否$\ge mid$