DFS40TLE 大佬帮忙优化
查看原帖
DFS40TLE 大佬帮忙优化
1350908
gjrBJ楼主2024/12/4 21:18

本人蒟蒻求大佬优化思路QwQQwQ

#include<bits/stdc++.h>
using namespace std;
char s[100010];
int n, q, x;
vector<int> v[100010];
char fan(char c) {
	return c == '0' ? '1' : '0';
}
void dfs(int x) {
	if (x == 0) {
		return ;
	}
	s[x - 1] = fan(s[x - 1]);
	for (int i = 0; i < v[x].size(); i++) {
		dfs(v[x][i]);
	}
}
int main() {
    scanf("%d", &n);
	for (int i = 2; i <= n; i++) {
	    scanf("%d", &x);
		v[x].push_back(i);
	}
	scanf("%s%d", s, &q);
	for (int i = 1; i <= q; i++) {
	    scanf("%d", &x);
		dfs(x);
	}
	printf("%s", s);
	return 0;
}
2024/12/4 21:18
加载中...