【hdu6121】 Build a tree 简单数学题
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6121
我好像推得挺久的诶.....
题目大意:给你一棵有$n$个点的树,根节点为$0$,对于其余节点$x$,它的父亲节点为$\left \lfloor \frac{x-1}{k} \right \rfloor$,求所有子树的大小的异或和。其中$n,k≤10^18$
此题要分$k=1$和$k≠1$讨论。
对于$k=1$的情况,显然是求$1$到$n-1$的异或和,二进制逐位分析该位为$1$的次数即可。时间复杂度$O(log_k\ n)$。
未完待续