内容参考<算法竞赛进阶指南> 之前集训的时候听老师讲过,字符串题目中,hash一般不是正解,但是是一个优秀的暴力,可以拿比较多的部分分. hash涉及内容很多,这里只讨论字符串hash 可以把字符串看成一个131进制位数,然后用ull储存,大过2的64次方后自动取模. 这样的话hash值相等的话可以认为两个字符串是一样的(极少概率不一样) 所以对于一个字符串,我们可以用O(n)的时间内算出所有前缀的hash值,然后就可以用 O(1)的时间算出任意一段区间的hash值(类比二进制操作,具体看代码…