首页 > TAG信息列表 > P2286
P2286宠物收养所(Splay)
传送门:宠物收养所 可以考虑只维护一棵 Splay,随时判断宠物和领养者谁多,把多的插入到 Splay 里,类似营业额统计,对于新加进来的少的求前驱后继并比较谁更近。(注意判断相等的特殊情况,处理按题面来) 然后累计到答案里就可以啦。(reliese 操作删除的是某个值而不是节点编号,只有我这个蒟蒻才【LG P2286】宠物收养场
这一题属于比较裸的\(\mathrm{Treap}\)了,只需要简单的求前驱和后继(连size都不用记) 注意事项: 可以发现,其实不需要建两棵\(\mathrm{Treap}\)(当然你想建也没人拦你),只需要建一棵 然后用一个变量\(cnt\)(取值范围包括正负整数)记录\(\mathrm{Treap}\)的情况 (如果\(cnt\)是正整数,表明里P2286 [HNOI2004]宠物收养场
题目链接 这道题应该很快看出是平衡树吧。对于每次操作,相当于是在维护好的平衡树上找前驱和后继。一开始我想的是维护两棵平衡树,一棵宠物树,一棵是人树。但是我这样搞就非常傻逼,而且非常难调。其实只用维护一棵平衡树就够了,用一个变量来记录当前是宠物多还是人多,在树上查询前驱和后