随笔分类 -  树论——树剖

摘要:要不断的移动像水一样,才不会变成死水一样,你要不断流动着! 阅读全文
posted @ 2021-08-30 15:49 fhq_treap 阅读(44) 评论(0) 推荐(0)
摘要:星空彼岸的光芒,幻想触及的地方,我到了淤泥深处,捡到了一颗星星。 阅读全文
posted @ 2021-08-27 11:37 fhq_treap 阅读(28) 评论(0) 推荐(0)
摘要:考虑到一次答案就是两点的子树和乘积。 我们先维护一个整个大树。 用并查集做小树的情况,树剖做子树大小的维护。 #include<iostream> #include<cstdio> #define ll long long #define N 100005 ll n,q; struct P{ ll 阅读全文
posted @ 2021-08-04 11:17 fhq_treap 阅读(32) 评论(0) 推荐(0)
摘要:考虑到$dep$等同于到根的点数。 考虑把$[l,r]$的点到根节点都打上1的标记,再查询$z$到根的权值即可。 考虑如何不重的统计。 那么就进行前缀和,并且从小到大加入,然后拆开一个询问的操作就可以。 树剖加线段树,\(O(nlog^2n)\)。 #include<iostream> #inclu 阅读全文
posted @ 2021-08-02 17:10 fhq_treap 阅读(40) 评论(0) 推荐(0)
摘要:[SDOI2011]染色 考虑直接维护一个类。 写merge。 inline void merge(S &a,S b,S c){//b + c -> a a.v = b.v + c.v; if(b.li == 0){ a.li = c.li; a.ri = c.ri; }else{ if(c.li 阅读全文
posted @ 2021-07-29 19:45 fhq_treap 阅读(72) 评论(0) 推荐(0)