社区讨论

hash求条

P4305[JLOI2011] 不重复数字参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mi8oxlhm
此快照首次捕获于
2025/11/21 18:01
3 个月前
此快照最后确认于
2025/11/21 19:29
3 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=5e4+5;
int idx;
int nxt[N],hd[N],v[N];
const int m=100003;
void insert(int u)
{
	int p=(u%m+m)%m;
	v[idx]=u;
	nxt[idx]=hd[p];
	hd[p]=idx;
	idx++;
}
bool fnd(int u)
{
	int p=(u%m+m)%m;
	for(int i=hd[p];i!=-1;i=nxt[i])
	{
		if(v[i]==u)
			return true;
	}
	return false;
}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		memset(hd,-1,sizeof hd);
		for(int i=1;i<=n;i++)
		{
			int tmp;
			cin>>tmp;
			if(!fnd(tmp))
				cout<<tmp<<" ";
			insert(tmp);
		}
		cout<<endl;
	}
	return 0;
}

回复

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

正在加载回复...