社区讨论
救一下求求了
P14919[GESP202512 六级] 路径覆盖参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mk86z22m
- 此快照首次捕获于
- 2026/01/10 18:58 上个月
- 此快照最后确认于
- 2026/01/13 19:40 上个月
附代码```cpp
#include
#include
using namespace std;
struct cs {
long long q=0;
int before=0;
bool flag=false;
}a[114514];
int n, cnt[114514];
//long long minn = 1e15;
long long ans;
void t(int s,long long &minn ,int &f) {
if (minn > a[s].q) {
minn = a[s].q;
f=s;
}
if (a[s].before != 0) t(a[s].before,minn,f);
else return;
}
int main() {
CPPa[1].before = 0;
cin >> n;
for (int i = 2; i <= n; i++) {
cin >> a[i].before;
cnt[a[i].before]++;
}
for (int i = 1; i <= n; i++)cin >> a[i].q;
for (int i = 1; i <= n; i++) {
if (cnt[i] == 0) {
long long minn = 1e15;
int f = 0;
t(i,minn,f);
if (a[f].flag != true) {
ans += minn;
a[f].flag = true;
}
}
}
cout << ans;
return 0;
}
CPP回复
共 2 条回复,欢迎继续交流。
正在加载回复...