B3681 [语言月赛202211] Power Strip 题解
B3681 [语言月赛202211] Power Strip 题解
Source & Knowledge
2022 年 11 月语言月赛,由洛谷网校入门计划/基础计划提供。
文字题解
题目大意
给定
对于每个插排,求出其供电的充电器数量。
解析
这里提供一种比较简便的做法。
我们注意到
不难想到,如果我们在输出第
其次,我们考虑向前更新的情况。不难发现,我们只需要将第
具体的,我们使用
最后输出
核心代码:
cin >> n;
for (int i = 2; i <= n; ++i)
cin >> u[i];
for (int i = 1; i <= n; ++i)
cin >> a[i];
for (int i = n; i > 1; --i) {
a[u[i]] += a[i];
}
for (int i = 1; i <= n; ++i)
cout << a[i] << ' ';
cout << endl;
视频题解
完整代码请在视频中查看。