csp-s模拟89

♀尐吖头ヾ 提交于 2019-12-04 06:31:21

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单调递增的点的个数
  说白了就是维护单调栈的大小,线段树维护单调栈即可

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!