题目
问:长度为N的字符串中至少出现M次的最长的字串的长度和最右出现位置。
数据范围
$1\leq M \leq N \leq 40000$
做法
二分长度,Hash判断
代码
|
|
总结
- 看清题意再做
这不是废话吗 - Hash的基数取$10^6$ 到$10^8$间的质数,比如23456789或者19961993,模数取大质数,比如$10^9+9$ 。小质数($10^5$级别的)冲突的概率很大。
- Double Hash更加保险,模数可以取$10^9+7$和$10^9+9$这两个孪生素数,冲突的概率极低,很稳。
追求更稳的话还可以Triple Hash, Ultra Hash, Rampage Hash