Given integers n and k such that

0 < n <= 10^6

0 < k <= 10^3

and a string S of length n.

Find any substring of length k in S with maximum number of occurrences. I don't care about the obvious complete search solution. Also, no need for complete solution. just some hints. what topic to look for ?etc.

example

n=13 k=3

abcabcabcabcd

ans is "abc" repeated 4 times.

Auto comment: topic has been updated by X-O__O-X (previous revision, new revision, compare).Use the Z-algorithm

Thank you. I just found idea using map<deque, int> counts; where I can construct any substring , ss, after the first one in O(1) but then I have to do : counts[ss]++; which I think should take O(|ss|*log n)