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 | 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 | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
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$$$