2018年7月30日暑假训练日记

上午:Splay

HDU 3436 Queue-jumpers (Splay tree)

Splay的三大操作,查询某个点的位置,查询第k个位置,和旋转点到队首。

这里离散化比较六,把没有用到的区间压缩成了一个点

HDU 3487 Play with Chain (Splay tree)

这就是上次没做出来的题目的升级版,加了一个反转操作,果然是个splay的模板题,由于操作l,r,所以添加两个根,操作的时候,从a-1变成a,从b+1变成b+2,先把对应的a-b这段区间切下来,把要接到的点旋转到根部,然后把切下来的区间接成根的右子节点的左子节点即可

下午:

先是一个结论题,不知道为什么就直接用了,a了之后想起来是个结论,就是euler[i]=(1-1/pi)的连乘

而后做出来个模拟的题目,就是输出个正方体,然后一个xor的结论题,之后单调队列的题目卡住了,愣是用了优先队列一直tle,很是难受。

猜你喜欢

转载自blog.csdn.net/m0_37772713/article/details/81291930