用队列来实现BFS遍历每一个结点的子结点,推出k叉树第t个结点的子结点的公式为:kt-k+2到kt+1;
最后如果查询到第n个点直接return;

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param k int整型 表示完全k叉树的叉数k
     * @param a int整型vector 表示这棵完全k叉树的Bfs遍历序列的结点编号
     * @return long长整型
     */
    #define ll long long
    long long tree2(int k, vector<int>& a) {
        // write code here
        ll sum=0;
        queue<ll>q;
        q.push(1);
        while(q.size())
        {
            ll t=q.front();
            q.pop();
            for(int i=t*k-k+2;i<=k*t+1&&i<=a.size();i++)
            {
                    ll ans=a[i-1]^a[t-1];
                    sum+=ans;
                    q.push(i);
            }
        }
        return sum;
    }
};