760 : ビットごとの演算の和

次のように定義する: g(m,n)=(mn)+(mn)+(mn)g(m,n) = (m \oplus n) + (m \lor n) + (m \land n) ここで,,\oplus, \lor, \landはそれぞれビットごとの排他的論理和(XOR)、論理和(OR)、論理積(AND)である。

また次のように定義する: G(N)=n=0Nk=0nG(k,nk)\displaystyle G(N) = \sum_{n=0}^N \sum_{k=0}^n G(k,n-k) 例えば、G(10)=754,G(102)=583766G(10) = 754, G(10^2) = 583766である。

G(1018)G(10^{18})を求めよ。答えは10000000071\,000\,000\,007で割った余りを入力せよ。

最終更新