摘要: 对于每个串,找到第一次匹配成功的位置 \(x\),然后求 \(S\) 上 \([1,x]\) 的后缀与 \(s\) 的 LCP 之和。 答案一定是 \(S\) 的子串,但是找到的匹配的位置一定是 \(s\) 的子串。 考虑对 \(s\) 建立 ACAM,然后把 \(S\) 丢上去匹配。记录一个下标就 阅读全文
posted @ 2022-04-02 11:12 Prean 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 考虑哨卡将村庄分成了若干段,对每一段分别考虑。 我们先定义这个 swap 是有方向的,代价由我们制定的一个人来承担。 对于段内,将村庄分为三类:要去左边的段,要去右边的段,要留在这里。 在开始“正式移动”之前,我们可以对段内元素随意地移动,这样是不会有代价的。 将要去左边的村庄排在最左边,留在这里的 阅读全文
posted @ 2022-04-02 09:29 Prean 阅读(19) 评论(0) 推荐(0) 编辑
var canShowAdsense=function(){return !!0};