[BZOJ2761][JLOI2011]不重复数字 暴力

Posted halfrot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[BZOJ2761][JLOI2011]不重复数字 暴力相关的知识,希望对你有一定的参考价值。

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761

直接暴力。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int inline readint(){
 6     int Num=0,Flag=1;char ch;
 7     while((ch=getchar())<0||ch>9) if(ch==-) break;
 8     if(ch==-) Flag=-1; else Num=ch-0;
 9     while((ch=getchar())>=0&&ch<=9) Num=Num*10+ch-0;
10     return Num*Flag;
11 }
12 struct DATA{
13     int num,idx;
14     bool tag;
15 }a[50010];
16 bool cmp1(const DATA &a,const DATA &b){
17     return a.num!=b.num?a.num<b.num:a.idx<b.idx;
18 }
19 bool cmp2(const DATA &a,const DATA &b){
20     return a.idx<b.idx;
21 }
22 int tmp[50010],cnt;
23 int main(){
24     int Test=readint();
25     while(Test--){
26         int N=readint();
27         for(int i=1;i<=N;i++){
28             a[i].num=readint();
29             a[i].idx=i;
30         }
31         sort(a+1,a+1+N,cmp1);
32         a[1].tag=true;
33         for(int i=2;i<=N;i++) a[i].tag=a[i-1].num!=a[i].num;
34         sort(a+1,a+1+N,cmp2);
35         cnt=0;
36         for(int i=1;i<=N;i++)
37             if(a[i].tag)
38                 tmp[++cnt]=a[i].num;
39         for(int i=1;i<cnt;i++) printf("%d ",tmp[i]);
40         printf("%d",tmp[cnt]);
41         if(Test>=1) putchar(\n);
42     }
43     return 0;
44 }

 

以上是关于[BZOJ2761][JLOI2011]不重复数字 暴力的主要内容,如果未能解决你的问题,请参考以下文章

bzoj2761: [JLOI2011]不重复数字

bzoj 2761: [JLOI2011]不重复数字

[BZOJ2761][JLOI2011]不重复数字 暴力

bzoj2761: [JLOI2011]不重复数字

bzoj2761: [JLOI2011]不重复数字(hash)

BZOJ 2761: [JLOI2011]不重复数字 hash哈希