社区讨论

关于神秘 RE

P11762[IAMOI R1] 走亲访友参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhjabn9b
此快照首次捕获于
2025/11/03 23:18
4 个月前
此快照最后确认于
2025/11/03 23:18
4 个月前
查看原帖
CPP
void dfs(int u){
	vis[u] = 1;
	for(auto ele : e[u]){
		int v = ele.to;
		if(vis[v] or v>m){
			continue;
		}
		is_tree[ele.b] = 1;
		dfs(v);
		if(d[v]&1){
			d[u]++;
			d[v]++;
			e[u].pb((Edge){v,ele.b,++cnt});
			e[v].pb((Edge){u,ele.b,cnt});
		}
	}
}
我这样写 RERE 了,似乎不能一边遍历 vectorvector 一边 push_backpush\_back
CPP
void dfs(int u){
	vector<Edge> tmp;
	vis[u] = 1;
	for(auto ele : e[u]){
		int v = ele.to;
		if(vis[v] or ele.c>m){
			continue;
		}
		is_tree[ele.b] = 1;
		dfs(v);
		if(d[v]&1){
			d[u]++;
			d[v]++;
			tmp.pb((Edge){v,ele.b,++cnt});
			e[v].pb((Edge){u,ele.b,cnt});
		}
	}
	for(auto ele : tmp){
		e[u].pb(ele);
	}
}
找了好久问题在哪,改成这个样子就过了

回复

2 条回复,欢迎继续交流。

正在加载回复...