本來是想做thuwc2017的泰勒展開xlct題的……
然後覺得陣列寫很麻煩……
然後就決定挑戰指標版……
然後寫得全是bug……
與bug鏖戰三千年後,有了這個指標版lct板子!
#include #include #include #include #include #define space putchar(' ')
#define enter putchar('\n')
using namespace std;
typedef long long ll;
template void read(t &x)
template void write(t x)
typedef long double ldb;
const int n = 300005;
int n, m;
struct node
bool which()
bool isroot()
void upt()
void pushdown()
} s[n];
void rotate(node *u)
void splay(node *u)
rotate(u);
}u->upt();
}void access(node *u)
}void makeroot(node *u)
node *findroot(node *u)
void link(node *u, node *v)
void cut(node *u, node *v)
int query(node *u, node *v)
void change(node *u, int x)
int main()
return 0;
}
動態樹LCT 模板
題目描述 輸入 第一行兩個整數n和m 接下來一行中n個整數表示初始點權 接下來m行每行乙個操作如上表所示。輸出 對於每乙個連線操作,若p和q不連通,輸出yes,並新增這條邊 否則輸出no 對於每乙個刪除操作,若p和q間有邊,輸出yes,並刪除這條邊,否則輸出no 對於每乙個查詢最大及查詢和,若p和q...
LCT模板題2 最長鏈
樹是任意兩點間僅有一條路徑的聯通圖,樹上的一條鏈定義為兩個點之間的路徑。在本題中定義一條鏈的長度為鏈上所有點的權值和。現有一棵帶點權樹,要對它進行一些操作,請你在第一次操作前和每一次操作後輸出這棵樹的最長鏈。lct splay的時候判gf 是 isroot f 下次注意 這題非常不錯的虛邊維護兒子資...
SDOI2008 洞穴勘測 LCT模板
bzoj 2049 傳送門 洛谷p2147 傳送門 這個大佬的lct詳解超級棒的!link cut tree的基本思路是用splay的森林維護一條條樹鏈。splay的森林,顧名思義,就是若干splay組成的東西。每個splay都有乙個根節點,所以lct裡的splay不能記錄根節點,因為根節點有好多。...