ICPC上海 C题 Sum of Log

Pro:
https://codeforces.com/gym/102900/problem/C
给定\(X\),\(Y\)
计算

\[\sum_{i=0}^X \sum_{j=0}^Y [i\&j=0] \lfloor log(i+j)+1 \rfloor \\ X,Y<=1e9 \\ 1e4组数据 \]

Sol:

易证:

\(i\&j=0\)\(i>=j\)

\(log(i+j)+1=log(i)+1\)

因此

我们可以先把答案拆成

\(i<=X,j<=Y,i>=j\)\(ans\)加上\(i<=Y,j<=Y,i>=j\)\(ans\)

这个玩意可以通过同时数位\(dp\)两个数字来实现

复杂度实现的好一点即可做到\(30*2*2\)

因此总复杂度\(O(T*30*2*2*2)\)

(不妨设X>=Y)

posted @ 2020-12-19 17:31  Creed-qwq  阅读(239)  评论(1编辑  收藏  举报