10.8

Median Pyramid Hard

神奇的二分答案题,二分最上面的值,将大于等于的视为1,否则视为0,注意到最上面的值根据0/1的多少有单调性,并且由最靠近中间的连续两个1/0决定了上面的值,就可以求解了。

排序

线段树分裂,当然也可以二分答案做,和上面那个题有异曲同工之妙,但是线段树分裂少个log,更加快速,具体就是用set维护现在连续的区间,动态开点权值线段树把桶合并,查询时直接把q位置拆开即可。

树的维护

LCT练手题,当然也可以树剖水过,树剖比LCT快了一倍...
树剖方法就不说了,LCT的话,重新啃了一遍博客,加深了我的理解吧,split(x,y)就可以很好的处理x到y路径上的信息了,up要在rotate和splay时up,down就是splay和findroot时一口气从上往下down完,处理边权可以把边看成点连接左右端点,up时候判断一下这个点是边还是点就行了。

posted @ 2021-10-08 14:47  letitdown  阅读(59)  评论(0编辑  收藏  举报