Can some one help me on how to solve this problem?
Editorial is given in Japanese, i used google translater to understand it but some sentence doesn't make any sense to me and i couldn't understand solution from editorial.
Can some one help me on how to solve this problem?
Editorial is given in Japanese, i used google translater to understand it but some sentence doesn't make any sense to me and i couldn't understand solution from editorial.
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | Kevin114514 | 3659 |
| 3 | jiangly | 3640 |
| 4 | turmax | 3450 |
| 5 | tourist | 3382 |
| 6 | strapple | 3360 |
| 7 | Um_nik | 3354 |
| 8 | squareOf105 | 3348 |
| 9 | maroonrk | 3312 |
| 10 | idontwannadothis…e | 3191 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 155 |
| 2 | nik_exists | 151 |
| 3 | maspy | 149 |
| 4 | AmShZ | 145 |
| 5 | Um_nik | 143 |
| 6 | Errichto | 139 |
| 7 | BledDest | 136 |
| 8 | adamant | 134 |
| 9 | maroonrk | 132 |
| 10 | cry | 130 |
| Name |
|---|



Problem tag — Digit DP.
Here is my submission, which you can refer to: Atcoder Submission 8567969
I don't know the solution of the editorial, just give it on my own.
Prerequesite knowledge: For every $$$a, b \in \mathbb{N}$$$ then $$$a+b = a\oplus b + 2\times (a\ and\ b) =(a\ or\ b) + (a\ and\ b)$$$. Well this is easy to prove.
Therefore let $$$x = a\ or\ b,\ y = a\ and\ b,\ u = a\oplus b,\ v = a+b$$$ then $$$x+y = v, x-y = u$$$. So for each pair $$$(u, v)$$$ in the answer maps with exactly one pair $$$(x, y)$$$, and each pair $$$(x, y)$$$ such that $$$y \subseteq x, y \le x \le N$$$ corresponds with only one pair $$$(u, v)$$$. Here $$$y \subseteq x$$$ means in binary representation, each bit of $$$y$$$ is smaller than the corresponding bit of $$$x$$$.
So we can count the number of pair $$$(a, b)$$$ such that $$$b \subseteq a, a+b \le N$$$.
Let say in binary representation, $$$a = \overline{a_{60}a_{59}...a_{1}a_{0}}$$$ and $$$b = \overline{b_{60}b_{59}...b_{1}b_{0}}$$$ then we can solve the problem using Digit DP. You can refer to my solution.
Thanks a lot for your explanation
Hi
Can someone explain the dp required to count pairs of (a,b) described above?
Auto comment: topic has been updated by Lets__go (previous revision, new revision, compare).