Codevs 4244 平衡树练习
来源:互联网 发布:淘宝上好看的男装 编辑:程序博客网 时间:2024/06/03 23:56
4244 平衡树练习
时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond
题目描述 Description
判断一些数字在一个数列中是否存在。
输入描述 Input Description
第一行输入两个正整数m和n。
第二行m个数字表示这个数列。
第三行n个数字表示需要判断的数字。
输出描述 Output Description
输出共一行n个0或1,0表示这个数字不存在,1表示存在。
样例输入 Sample Input
2 2
2 4
2 5
样例输出 Sample Output
1 0
数据范围及提示 Data Size & Hint
输入数字保证不超过MaxInt。
有节操的人不用set
//本来想写平衡树的 ,二叉排序树就A掉了 #include<iostream>#include<cstdio>#include<cstring>using namespace std;int n,m;#define maxn 1000000struct Tree{ int lc,rc,val;}tre[maxn];int tot=0,root=0;void Tree_Add(int &cur,int value){ if(!cur){ cur = ++tot; tre[cur].val=value; return ; } if(value<tre[cur].val) Tree_Add(tre[cur].lc,value); else Tree_Add(tre[cur].rc,value);}bool Find(int now,int x){ if(!now) return 0; if(tre[now].val==x) return 1; if(x<tre[now].val) return Find(tre[now].lc,x); else return Find(tre[now].rc,x);}int main(){ scanf("%d%d",&m,&n); for(int x,i=1;i<=m;i++){ scanf("%d",&x); Tree_Add(root,x); } for(int x,i=1;i<=n;i++){ scanf("%d",&x); printf("%d ",Find(root,x)); } return 0;}
阅读全文
0 0
- Codevs 4244 平衡树练习
- 【codevs 4543】普通平衡树
- 平衡树的练习
- codevs线段树练习3
- [codevs] 线段树练习4
- CODEVS 1080线段树练习
- 1080 线段树练习 codevs
- CODEVS 1080 线段树练习
- [Codevs] 1080 线段树练习
- 【codevs 1080】线段树练习
- 练习题目-平衡二叉树
- 平衡二叉树判断练习
- codevs 4543//bzoj3224(普通平衡树,聚合模板)
- CODEVS-1082-线段树练习3-splay
- 【codevs 1080~1082】线段树练习重做
- 【codevs 1082】线段树练习3
- CODEVS 1081线段树练习2
- [题解] codevs 1080 线段树练习
- LeetCode Week13
- 二叉排序树和哈希表的学习总结
- UML使用——活动图、类图
- JavaSE学习--单例设计模式
- spring的注入参数(bean对象中又有bean属性),beans.xml配置
- Codevs 4244 平衡树练习
- cmd用法
- ImageLoader的使用
- 小米5手机Android运行程序闪退出错解决方法
- Mysql 锁问题分析 InnoDB 锁
- Markdown编辑器初步使用
- Javascript 普通函数和构造函数的区别
- 51单片机按键控制输出pwm的占空比
- 利用Java读取并写入Word文件