So I was thinking about this CSES problem: link. I saw that the answer is (x-1) ^ (y-1), but I have absolutely no idea why it works. Could someone explain or at least give some hints? Thanks.
# | 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 | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Name |
---|
(forgive my poor English)
This can be proved with induction .
Now we calculate the answer for $$$(x,y)$$$
Assume that we already know that the answer is $$$(tx-1)xor(y-1)$$$ for $$$(tx,y),tx<x$$$ and $$$(ty-1)xor (x-1)$$$ for $$$(x,ty),ty<y$$$ .
(make $$$x\leftarrow x-1,y\leftarrow y-1$$$)
What we need to prove is that $$$Mex(tx\ xor\ y,ty\ xor\ x )=x\ xor\ y$$$
We can see that $$$x\ xor\ y$$$ is not in $$${tx\ xor\ y,ty\ xor\ x}$$$ , so we only need to prove that for all $$$k\in[0,x\ xor\ y)$$$ , $$$k$$$ can be represented as $$$tx\ xor\ y$$$ or $$$ty\ xor\ x$$$ which is same as $$$k\ xor\ x<y$$$ or $$$k\ xor\ x<y$$$
We will prove that it is impossible for $$$k\in[0,x\ xor\ y)$$$ to satisfy $$$k\ xor\ x\geq y$$$ and $$$k\ xor\ x\geq y$$$
We can remove the equal sign.
The restriction becomes $$$k\ xor\ x> y$$$ and $$$k\ xor\ y> x$$$
Consider the first bit where $$$x\ xor\ k$$$ and $$$y$$$ differs .
It can be found that for all bits higher than this bit $$$k=x\ xor\ y$$$
And in this bit $$$y=0,x\ xor\ k=1$$$
And it is impossible for $$$x=0,k=1$$$ as it will break the limit of $$$k\in[0,x\ xor\ y)$$$ . So this must be $$$x=1,k=0$$$ , but in this way $$$k\ xor\ y$$$ and $$$x$$$ will differ at this bit and $$$k\ xor y=0,x=1$$$ , which will break the limit $$$k\ xor\ y> x$$$.
So it is impossible for $$$k\in[0,x\ xor\ y)$$$ to satisfy $$$k\ xor\ x\geq y$$$ and $$$k\ xor\ x\geq y$$$.
So $$$Mex(tx\ xor\ y,ty\ xor\ x )=x\ xor\ y$$$