題目不算難,但是**量需要控制主要說一下線段樹上的操作,因為有兩個相關的區間操作標記,應該先覆蓋後增加,因為覆蓋操作會影響增加操作
const int n=1e5+5;
int n,m;
int i,j,k;
int a[n];
struct node
}t[n<<2];
vectorg[n];
int sz[n],fa[n],son[n],dep[n];
void dfs1(int u,int f)
}void update(int l,int r,int id,int val,int tag)
else
}int query(int l,int r,int id)
}#define nx top[x]
#define ny top[y]
int ask(int x,int y)
void add(int x,int y,int val,int tag)
struct edge
}e[n];
int main()
dfs1(1,0); dfs2(1,1);
build(1,n,1);
char ch[10];
ss(ch);
while(ch[0]!='s')
ss(ch);}}
//pause;
return 0;
}
洛谷P4315 月下「毛景樹」
毛毛蟲經過及時的變形,最終逃過的一劫,離開了菜媽的菜園。毛毛蟲經過千山萬水,歷盡千辛萬苦,最後來到了小小的紹興一中的校園裡。爬啊爬 爬啊爬毛毛蟲爬到了一顆小小的 毛景樹 下面,發現樹上長著他最愛吃的毛毛果 毛景樹 上有n個節點和n 1條樹枝,但節點上是沒有毛毛果的,毛毛果都是長在樹枝上的。但是這棵 ...
洛谷 P4315 月下「毛景樹」
題目 又是一道維護邊權的題 對於每乙個節點,我們把他的點權設為他跟他父親之間的邊權,這樣就輕鬆地把邊權轉化為了點權 但是,這題的重點就在 同時維護區間加和區間修改 對於乙個區間 k kk,我們設 max v k maxv k maxv k 為區間最大值,add k c k add k c k add...
P4315 月下「毛景樹」
毛毛蟲經過及時的變形,最終逃過的一劫,離開了菜媽的菜園。毛毛蟲經過千山萬水,歷盡千辛萬苦,最後來到了小小的紹興一中的校園裡。爬啊爬 爬啊爬毛毛蟲爬到了一顆小小的 毛景樹 下面,發現樹上長著他最愛吃的毛毛果 毛景樹 上有n個節點和n 1條樹枝,但節點上是沒有毛毛果的,毛毛果都是長在樹枝上的。但是這棵 ...