关注
第5题并查集
vector<int> meituan5() {
int n, m;
cin >> n;
vector<int> tree(n + 1, 0);
vector<int> weights(n + 1, 0);
for (int i = 2; i <= n; ++i) {
cin >> tree[i];
}
for (int i = 1; i <= n; ++i) {
cin >> weights[i];
}
cin >> m;
vector<vector<int>> requests(m, vector<int>(2));
for (int i = 0; i < m; ++i)
cin >> requests[i][0];
for (int i = 0; i < m; ++i)
cin >> requests[i][1];
vector<int> res(m);
int beg, end, currNode, val;
for (int i = 0; i < m; ++i) {
beg = requests[i][0];
end = requests[i][1];
currNode = beg;
val = 0;
while (currNode != 1 &;&; currNode != end) {
val ^= weights[currNode];
currNode = tree[currNode];
}
if (currNode == 1) {
currNode = end;
while (currNode != 1) {
val ^= weights[currNode];
currNode = tree[currNode];
}
val ^= weights[1];
} else {
val ^= weights[end];
}
res[i] = val;
}
return res;
}
查看原帖
点赞 评论
相关推荐
02-10 17:07
上海财经大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
8961次浏览 150人参与
# 今年秋招你收到了多少封邮件? #
37134次浏览 271人参与
# 春节前,你还在投简历吗? #
12381次浏览 145人参与
# 牛友的春节生活 #
5795次浏览 134人参与
# 牛客AI体验站 #
14430次浏览 265人参与
# 春节提前走,你用什么理由请假? #
8578次浏览 206人参与
# 实习到现在,你最困惑的一个问题 #
3761次浏览 112人参与
# 从夯到拉,锐评职场mentor #
4046次浏览 64人参与
# 备战春招/暑实,现在应该做什么? #
3845次浏览 131人参与
# 距离春招还有一个月,你现在是什么开局? #
5710次浏览 106人参与
# AI“智障”时刻 #
25771次浏览 128人参与
# 聊聊Agent开发 #
22479次浏览 563人参与
# 机械人的offer怎么选 #
250185次浏览 1186人参与
# 暑期实习什么时候投? #
6165次浏览 149人参与
# 推荐一个值得做的AI项目 #
6054次浏览 166人参与
# 实习生应该准时下班吗 #
335597次浏览 1737人参与
# 我的AI电子员工 #
27990次浏览 190人参与
# 非技术岗薪资爆料 #
487655次浏览 3039人参与
# 腾讯工作体验 #
568960次浏览 3718人参与
# 用一句话形容你的团队氛围 #
38905次浏览 284人参与