链接:https://ac.nowcoder.com/acm/contest/9223/C
来源:牛客网
public static long tree2 (int k, int[] a) { // write code here long sum=0; for(int i=1;i<a.length;i++) sum=sum+(a[i]^a[(i-1)/k]); return sum; }
题目的意思是要将所有根结点与它的叶子结点异或,并将结果相加,所以遍历叶子结点就ok,从1开始一直到最后一个,根节点为i-1/k,这样逆过来想就十分简单了.