原创 [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