Description

给出N个数,要求把当中反复的去掉。仅仅保留第一次出现的数。
比如,给出的数为1 2 18 3 3 19 2 3 6 5 4。当中2和3有反复。去除后的结果为1 2 18 3 19 6 5 4。
 

Input

输入第一行为正整数T,表示有T组数据。

接下来每组数据包含两行,第一行为正整数N,表示有N个数。第二行为要去重的N个正整数。
 

Output

 
对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开。

Sample Input

2

11

1 2 18 3 3 19 2 3 6 5 4

6

1 2 3 4 5 6

Sample Output

1 2 18 3 19 6 5 4

1 2 3 4 5 6

HINT

对于30%的数据,1 <= N <= 100,给出的数不大于100。均为非负整数;

对于50%的数据。1 <= N <= 10000,给出的数不大于10000,均为非负整数;

对于100%的数据,1 <= N <= 50000。给出的数在32位有符号整数范围内。

提示:

因为数据量非常大,使用C++的同学请使用scanf和printf来进行输入输出操作,以免浪费不必要的时间。

题解:裸平衡树。

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int n,t,x;
bool f;
struct Node{
Node*ch[2];
int r,s,v;
Node(int v):v(v){ch[0]=ch[1]=NULL;r=rand();}
int cmp(int x){
if (x==v) return -1;
else return (x<v? 0:1);
}
};
Node* root;
void rotata(Node* &o,int d)
{
Node*k=o->ch[d^1];o->ch[d^1]=k->ch[d];k->ch[d]=o;o=k;
}
void insert(Node* &o,int x)
{
if (o==NULL) o=new Node(x);
else
{
int d=o->cmp(x);
if (d==-1) {f=false;return;}
if (d!=-1)
{
insert(o->ch[d],x);
if (o->ch[d]->r>o->r) rotata(o,d^1);
}
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
root=NULL;
scanf("%d%d",&n,&x);f=true;
insert(root,x);
if (f) printf("%d",x);
for (int i=1;i<n;i++)
{
f=true;scanf("%d",&x);
insert(root,x);
if (f) printf(" %d",x);
}
printf("\n");
}
}



【bzoj2761】【JLOI2011】【不反复数字】【平衡树】的更多相关文章

  1. [BZOJ2761][JLOI2011]不重复数字

    [BZOJ2761][JLOI2011]不重复数字 试题描述 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复 ...

  2. [BZOJ2761] [JLOI2011] 不重复数字 (set)

    Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...

  3. BZOJ2761:[JLOI2011]不重复数字(map)

    Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...

  4. BZOJ2761: [JLOI2011]不重复数字【set】【傻逼题】

    Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...

  5. [BZOJ2761] [JLOI2011] 不重复数字 (C++ STL - set)

    不重复数字 题目:         给出N个数,要求把其中重复的去掉,只保留第一次出现的数.例如,给出的数 为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 1 ...

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

    题目大意:给出N个数,要求把其中重复的去掉,只保留第一次出现的数.例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. ...

  7. 【set】bzoj2761 [JLOI2011]不重复数字

    set去重. #include<cstdio> #include<set> using namespace std; set<int>S; ],b[],en; in ...

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

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761 直接暴力. #include<cstdio> #include<c ...

  9. 2761: [JLOI2011]不重复数字(平衡树)

    2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2133  Solved: 825[Submit][Stat ...

  10. BZOJ2761 不重复的数字 【treap】

    2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 5517  Solved: 2087 [Submit][S ...

随机推荐

  1. hdu2081

    #include <stdio.h> #include <malloc.h> int main(){ ]; char *p; int t; p=(); scanf(" ...

  2. fdisk分区自动挂载

    理解/etc/fstab文件配置 首先打开这个文件我们查看下本身内容 vi /etc/fstab   或者   vim /etc/fstab 2 介绍下fstab配置 文件配置每一行属于一个配置,每个 ...

  3. Uva5009 Error Curves

    已知n条二次曲线si(x) = ai*x^2 + bi*x + ci(ai ≥ 0),定义F(x) = max{si(x)},求出F(x)在[0,1000]上的最小值. 链接:传送门 分析:最大值最小 ...

  4. 洛谷P2365 任务安排 [解法二 斜率优化]

    解法一:http://www.cnblogs.com/SilverNebula/p/5926253.html 解法二:斜率优化 在解法一中有这样的方程:dp[i]=min(dp[i],dp[j]+(s ...

  5. 定时任务-Quartz

    Quartz Quartz w3c教程 参考:https://blog.csdn.net/lkl_csdn/article/details/73613033 Quartz 的使用 https://ww ...

  6. 标准C程序设计七---24

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  7. Java的常用对象

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  8. CODEVS_1034 家园 网络流 最大流

    原题链接:http://codevs.cn/problem/1034/ 题目描述 Description 由于人类对自然的疯狂破坏,人们意识到在大约2300年之后,地球不能再居住了,于是在月球上建立了 ...

  9. Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)

      Java面试题总结之数据结构.算法和计算机基础(刘小牛和丝音的爱情故事1)​mp.weixin.qq.com 全文字数: 1703 阅读时间: 大约6 分钟 刘小牛是一名Java程序员,由于天天9 ...

  10. eclispe集成web插件

    最近公司需要使用开源框架开发,所有下载了最新版本的eclispe工具,但是在官网下载的eclispe是不包含web插件的,无法创建web项目,需要自行集成web插件 eclipse官网下载地址:htt ...