「题解」[ABC050D] Xor Sum(观察合法解之间的关系)
首要观察:
\(a\operatorname{xor}b\le a+b\),因为异或是不进位的加法。此时只要求 \(a+b=v\le n\)。
关键观察:
若 \((u,v)\) 合法(即存在 \(a,b\)),则 \((2u,2v)\),\((2u+1,2v+1)\),\((2u,2v+2)\) 也必定合法。考虑后面新增一位,分讨 \(a,b\) 新增 \((0,0),(1,0),(1,1)\) 可得。
设 \(f(n)\) 表示 \(a+b=v\le n\) 的合法 \((u,v)\) 数。有转移 \(f(n)=f(\dfrac{n}{2})+f(\dfrac{n-1}{2})+f(\dfrac{n-2}{2})\),除法下取整。
递归次数 \(O(\log n)\)。每时刻只有 \(x,x+1\) 在递归中。

浙公网安备 33010602011771号