链接: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,这样逆过来想就十分简单了.

京公网安备 11010502036488号