• 2024-10-24【模板】FHQtreap
    mt19937rnd(time(0));structFHQtreap{ intlc[N],rc[N],val[N],key[N],siz[N],pool,root; intcreate(intx){ intp=++pool; val[p]=x; siz[p]=1; key[p]=rnd(); lc[p]=rc[p]=0; returnp; } voidupdate(intp){ if(!p)return; siz[p]=siz[lc[p]]+si
  • 2024-05-22【老鼠看不懂的数据结构】FHQTreap 初识
    Treap弱平衡的随机性很强的老鼠看不懂的平衡树Q:为什么叫Treap?A:看看二叉搜索树(BST)和堆(Heap),组合起来就是Treap其中,二叉搜索树的性质是:左子节点的值(val)比父节点小右子节点的值(val)比父节点大如果这些节点的值都一样,这棵树就会退化成一颗(?)链。对,我知道你在想