模数怎么取,,,
查看原帖
模数怎么取,,,
229529
yyewenh楼主2020/7/25 11:18
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int N=50010;
const int mod=50017;
long long t,n,a[N];
struct node{
	long long x;
	int y;
	bool pd;
}h[N];
inline int f(long long x){
	return x%mod;
}
inline int find(long long x){
	int y=f(abs(x));
	while(h[y].x&&h[y].x!=x)++y;
	return y;
}
inline void push(long long x){
	int y=find(x);
	h[y].y++;
	h[y].x=x;
}
int main(){
	scanf("%d",&t);
	while(t--){
		memset(h,0,sizeof(h));
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			scanf("%lld",&a[i]);
			push(a[i]);
		}
		for(int i=1;i<=n;i++){
			if(!h[find(a[i])].pd){
				printf("%lld ",a[i]);
				h[find(a[i])].pd=1;
			}
		}
		printf("\n");
	}
	return 0;
}

最后4个点mod改大了re,小了tle,50000左右wa,有好心人吗

2020/7/25 11:18
加载中...