「题解」[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\) 在递归中。

posted @ 2023-07-01 10:00  Network_Error  阅读(29)  评论(0)    收藏  举报