Advertisement

洛谷P2286 HNOI2004-《宠物收养场》 Treap树

阅读量:

treap树
本题关键点:
1、构建两棵treap树,其中一棵用于存储宠物信息,另一棵则用于存储顾客数据。题目中明确指出,所有顾客值与宠物值均互不相同。
为此,Treap结构体只需额外增加一个size字段,用于记录子树中节点的总数。
2、依据treap树的模板进行代码实现,完成以下相关函数的编写。由于涉及两棵树的操作,因此在函数参数传递过程中需要使用引用方式。

复制代码
    	int New(int val,  Treap* a, int& tot)
    	void update(int p, Treap* a)
    	void Build(Treap* a, int& tot, int& root)
    	void zig(int &p, Treap* a)  //右旋转
    	void zag(int &p, Treap* a)  //左旋
    	void Insert(int &p, int val, Treap* a, int& tot)
    	int GetPre(int val, Treap* a, int root)
    	int GetNext(int val, Treap* a, int root)
    	void Remove(int &p, int val, Treap* a)
    
    

全部评论 (0)

还没有任何评论哟~