【hdu6121】 Build a tree 简单数学题

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6121

我好像推得挺久的诶.....

题目大意:给你一棵有$n$个点的树,根节点为$0$,对于其余节点$x$,它的父亲节点为$left lfloor frac{x-1}{k} ight floor$,求所有子树的大小的异或和。其中$n,k≤10^18$

此题要分$k=1$和$k≠1$讨论。

对于$k=1$的情况,显然是求$1$到$n-1$的异或和,二进制逐位分析该位为$1$的次数即可。时间复杂度$O(log_k n)$。

未完待续

原文地址:https://www.cnblogs.com/xiefengze1/p/8886698.html