dfs40TLE求调
查看原帖
dfs40TLE求调
1272259
cgxd楼主2024/7/20 19:04
#include<bits/stdc++.h>
using namespace std;
vector<int> tree[100005];
bitset<100005> bs;
int n, q;
void dfs(int x){
	bs.flip(x);
	for(int i: tree[x])
		dfs(i);
}signed main(){
	scanf("%d", &n);
	for(int i = 2; i <= n; ++i){
		int k;
		scanf("%d", &k);
		tree[k].push_back(i);
	}for(int i = 1; i <= n; ++i){
		int k;
		scanf("%1d", &k);
		bool bl = k;
		bs.set(i, bl);
	}scanf("%d", &q);
	while(q--){
		int k;
		scanf("%d", &k);
		dfs(k);
	}for(int i = 1; i <= n; ++i)
		printf("%d", bs[i]? 1: 0);
	return 0;
}
2024/7/20 19:04
加载中...