介绍 fhqtreap为利用分裂和合并来满足平衡树的性质,不需要旋转操作的一种平衡树. 并且利用函数式编程可以极大的简化代码量. (题目是抄唐神的来着) 核心操作 (均为按位置分裂合并) struct fhq { int lc, rc, siz, rnd, val; //lc为左子树,rc为右子树,siz为子树大小(位置分裂即按siz分裂),rnd为随机值,val为该节点储存的值 }t[N]; #define lc (t[rt].lc) #define rc (t[rt].rc) //下方用到的…