题意:给一个字符串\(s\),有\(q\)个询问 x y l
表示问从\(x,y\)开始的长度为\(l\)的子串是否等价。
等价的定义是是否可以形成一个映射\(f\),使得把所有的第一个字符串的字符经过映射后得到恰恰是第二个字符串。
思路:首先我们看如果一个字符串等价于另一个字符串,那么它们所有字符出现位置的哈希值可以一一对应。
那么我们可以处理前缀每个字符出现的哈希值。
那么我们就可以\(O(26)\)求出每次查询了。
一一对应很简单,就是排序之后相同就行了。
原文地址:https://www.cnblogs.com/denverjin/p/10847098.html
时间: 2024-11-04 20:30:57