There is a string s of length n , we have to find the maximum length x such that all substrings L of length x has at most k distinct characters.
constraint- n<=10^5
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 166 |
2 | maomao90 | 163 |
2 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | adamant | 160 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | nor | 153 |
9 | Dominater069 | 153 |
There is a string s of length n , we have to find the maximum length x such that all substrings L of length x has at most k distinct characters.
constraint- n<=10^5
Name |
---|
This problem can be solved with suffix array, suffix tree and suffix automation
You can try to greedy or brute-forces to eliminate small cases then binary search for solution
Binary search for length of substring + use sliding window for checking count of distinct characters in each window.
No need for binary search, you can just use sliding window and take min length of each "window" before shifting one of the pointers (depending on which way you do it).