普通treap:
参考https://www.csdn.net/gather_2a/MtTacg3sMTE0NS1ibG9n.html
cf702f:
将所有人的钱数放入平衡树,每次按照可选衣服的价格将树一分为二,对于有购买能力的一棵树上的人钱数减去衣服价格,然后将剩余钱数小于c-1的再塞回第一棵树,最后将这两棵树合并。由于是非持久性结构,所有的人的节点编号不会变,会变的只有他们的亲子关系,所以可以直接用一个数组记录每个人的剩余钱数和已购买的衣服数量。
1 |
|
可持久性treap模板:
洛谷P3835
1 |
|