國家集訓隊 Tree II

2022-03-27 04:14:46 字數 907 閱讀 8503

題目

這不是線段樹模板2放\(lct\)上了嗎

於是開始碼碼碼

之後一直wawawa

於是開始調調調

之後旁邊的慎老師看了一看**就說,你下放乘法標記的時候不乘加法標記嗎

我:。。。

**

#include#include#include#include#define maxn 300005

#define re register

#define ll long long

#define max(a,b) ((a)>(b)?(a):(b))

#define min(a,b) ((a)<(b)?(a):(b))

inline int read()

int n,m;

int fa[maxn],v[maxn],s[maxn],ch[maxn][2],st[maxn],rev[maxn];

inline int nroot(int x)

inline void pushup(int x)

inline void pushdown(int x)

inline void rotate(int x)

inline void splay(int x)

}inline void access(int x)

inline void makeroot(int x)

inline int findroot(int x)

inline void split(int x,int y)

inline void link(int x,int y)

inline void cut(int x,int y)

int main()

return 0;

}

國家集訓隊 Tree II

lct維護這種東西是要比線段樹要噁心的多的 畢竟線段樹的區間大小是可以直接通過區間左右端點算出的,但是lct就不行,必須手動維護。並且,線段樹的維護是 左兒子 右兒子 但是lct的維護是 左兒子 自己 右兒子 請務必先把線段樹模板做掉,關於運算的優先順序什麼的實在不應該放到這道題裡講吧 注意細節,比...

國家集訓隊 Tree II 題解

題目傳送門 題目大意 給一棵樹,若干種操作 路徑加,路徑乘,刪邊加邊,求路徑和。看到刪邊加邊就知道是 lct lctlc t 了。路徑加路徑乘都是打個標記的事,但是在更新 sum sumsu m 的時候,sum sumsu m 不僅要乘上乘法標記,還要加上加法標記乘 siz esize size 的...

Luogu1501 國家集訓隊 Tree II

題目描述 一棵n個點的樹,每個點的初始權值為1。對於這棵樹有q個操作,每個操作為以下四種操作之一 u v c 將u到v的路徑上的點的權值都加上自然數c u1 v1 u2 v2 將樹中原有的邊 u1,v1 刪除,加入一條新邊 u2,v2 保證操作完之後仍然是一棵樹 u v c 將u到v的路徑上的點的權...