I need help to solve this problem from an ICPC Regional Contest
It's easy to find the MEX difference of the subarray [l:r] in O(1), F(l, r). but what makes it hard is to find the maximum MEX difference among all subarrays inside range l:r
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 170 |
2 | Um_nik | 162 |
3 | atcoder_official | 160 |
3 | maomao90 | 160 |
5 | djm03178 | 158 |
5 | -is-this-fft- | 158 |
7 | adamant | 154 |
7 | Dominater069 | 154 |
9 | awoo | 152 |
9 | luogu_official | 152 |
I need help to solve this problem from an ICPC Regional Contest
It's easy to find the MEX difference of the subarray [l:r] in O(1), F(l, r). but what makes it hard is to find the maximum MEX difference among all subarrays inside range l:r
Name |
---|
can you provide the link of this problem ?
https://mirror.codeforces.com/group/Rilx5irOux/contest/530057/problem/J
here is my code
feel free to ask me anything !
Thank you
What can i do if i am not allowed to see the contest? Really wanna upsolve this now(
you need to join this group in order to see the contest
ty!
my approach: first, absolute values are hard to work with so let's remove them by calculating the max value of
MEX(P,a,b) - MEX(Q,a,b)
over all a,b for a query (and similarlyMEX(Q,a,b) - MEX(P,a,b)
) and answer is the max of these 2now to maximize
MEX(P,a,b) - MEX(Q,a,b)
, let's think of a naive solution first: let's loop over all valuesX
whichMEX(P,a,b)
can be, and try to minimizeMEX(Q,a,b)
. Well observe that as you extend a subarray by 1 ([a,b] -> [a-1,b] or [a,b+1]) the mex can only increase, so we want to find the smallest subarray whereMEX(P,a,b)
equalsX
well this can be done with a simple loop:
first calculate index:
then something like:
finally we can observe that these "minimal-mex" subarrays in a can only increase in length, so for a query, we can binary search the largest mex for which that corresponding "minimal-length" subarray is contained in the query. And also store
MEX(P,a,b) - MEX(Q,a,b)
in an array, prefix-maxedThank You