T1:
有个诡异的结论:最多按3次delete
然后类似于艾氏筛的dp就行了,复杂度\(O(nloglogn)\),有点卡
正解是跑个最短路,感觉很优秀
T2:
考虑容斥,发现其实就是求:$\sum_{i=1}^{\lfloor \sqrt{n} \rfloor} \mu (i)* \lfloor n/(i^2) \rfloor $
其中\(\lfloor n/(i^2) \rfloor\)可以整除分块,那么复杂度瓶颈在于求莫比乌斯函数的前缀和
低于线性的求积性函数前缀和,杜教筛即可
T3:
Treap = Tree+Heap (x)
椎 = 树 + 堆 (\(\surd\))
呵,在理
考虑肯定不能模拟treap,因为weight值并不随机,所以并不平衡
考虑将离线下来,对key值排序,那么\(k_u\)和\(k_v\)的lca一定是它们区间中weight最大的点
然后就考虑如何求x到lca的距离,考虑treap中weight的性质可知距离即为从x到lca中weight单调递增的点的个数
说白了就是维护单调栈的大小,线段树维护单调栈即可
来源:https://www.cnblogs.com/Gkeng/p/11837314.html