社区讨论

ABC E 类似 trie 维护,调不出来,实现有问题吗

学术版参与者 1已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mjedabdu
此快照首次捕获于
2025/12/20 22:01
2 个月前
此快照最后确认于
2025/12/23 12:35
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(x,y,z) for(int x=y;x<=z;x++)
#define repn(x) rep(x,1,n)
const int N=3e5+7;
int n,nowp;
struct node{
	int v,w;
};
bool operator<(const node &X,const node &Y){
	return X.w<Y.w;
}
set<node> e[N];
set<int> in[N];
map<int,int> vis[N];
int fir[N];
void add(int x,int y,int uid){
	if(!vis[x][y])
	e[x].insert({uid,y}),vis[x][y]=uid,in[uid].insert(uid);
	else in[vis[x][y]].insert(uid);
}
void dfs(int u){
	for(auto [v,w]:e[u]){
		for(auto pt:in[v]){
			cout<<pt<<" ";
		}
		dfs(v);
	}
}
signed main()
{
	cin>>n;
	rep(i,1,n){
		int x,y;
		cin>>x>>y;
		add(x,y,i);
	}
	dfs(0);
	return 0;
}

回复

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

正在加载回复...