原创 [BJOI2014]大融合 lct維護虛子樹大小

lct在動態連邊和刪邊方面比較有優勢,但是在維護子樹信息方面又沒有樹鏈剖分那麼方便。這道題算是lct維護虛子樹信息比較裸的一道題。 以s[]數組爲總的子樹大小,sx[]數組爲虛子樹大小。 要維護虛子樹信息 在lct原來的模板上有三個地方

原创 洛谷 線段樹分裂模板

對於0操作需要把區間x到y分裂出來變成一顆新的樹(這像極了fhq的無旋treap) 我也用了類似的思想來實現   線段樹維護每個權值出現的個數 2,3,4操作應該都不是問題  1操作的話就是線段樹合併 沒有什麼特別的地方 對於y結點的刪

原创 線段樹合併 CF 600E Lomsat gelral

這題和[Vani有約會]雨天的尾巴 有些神似的地方 算是線段樹合併的模板題把   每個結點維護一顆線段樹 線段樹維護顏色出現個數 以及編號和  pushup要寫好 想清楚 最後dfs合併起來就行了 #include<bits/std

原创 洛谷 [POI2011]ROT-Tree Rotations 線段樹合併

參考博客:https://www.cnblogs.com/JYYHH/p/8777468.html 這題從葉子結點開始 從下往上貪心就是正確的 貪心的思路就是 計算出左右兩顆子樹的順序對和逆序對 然後取最小  一直向上合併線段樹就行了

原创 lca板子 帶常數優化

#include<bits/stdc++.h> using namespace std; const int N = 2000; int h[N],nex[N<<1],to[N<<1],tot; void add(int x,int y