给出一个字符串 \(s\),求它最长的至少出现两次的子串的长度。
多组数据,\(|s|\le 5000\)。
不难发现答案有单调性,考虑对字符串哈希并二分,从左往右扫,用哈希表记录当前该长度每种哈希值是否出现过,出现过则可行。
时间复杂度为 \(\mathcal{O}(\sum |s|\log (\sum |s|))\),空间复杂度为 \(\mathcal{O}(\sum |s|)\)。
标签:UVA1223,sum,Editor,哈希,mathcal,复杂度 From: https://www.cnblogs.com/MnZnOIerLzy/p/17812042.html