BZOJ1984 月下「毛景樹」

2021-07-16 16:38:27 字數 852 閱讀 1907

time limit: 20 sec  memory limit: 64 mb

submit: 1583  solved: 500

[submit][status][discuss]

毛毛蟲經過及時的變形,最終逃過的一劫,離開了菜媽的菜園。 毛毛蟲經過千山萬水,歷盡千辛萬苦,最後來到了小小的紹興一中的校園裡。爬啊爬~爬啊爬~~毛毛蟲爬到了一顆小小的「毛景樹」下面,發現樹上長著他最愛吃的毛毛果~~~ 「毛景樹」上有n個節點和n-1條樹枝,但節點上是沒有毛毛果的,毛毛果都是長在樹枝上的。但是這棵「毛景樹」有著神奇的魔力,他能改變樹枝上毛毛果的個數:  change k w:將第k條樹枝上毛毛果的個數改變為w個。  cover u v w:將節點u與節點v之間的樹枝上毛毛果的個數都改變為w個。  add u v w:將節點u與節點v之間的樹枝上毛毛果的個數都增加w個。 由於毛毛蟲很貪,於是他會有如下詢問:  max u v:詢問節點u與節點v之間樹枝上毛毛果個數最多有多少個。

第一行乙個正整數n。 接下來n-1行,每行三個正整數ui,vi和wi,第i+1行描述第i條樹枝。表示第i條樹枝連線節點ui和節點vi,樹枝上有wi個毛毛果。 接下來是操作和詢問,以「stop」結束。

對於毛毛蟲的每個詢問操作,輸出乙個答案。 4

1 2 8

1 3 7

3 4 9

max 2 4

cover 2 4 5

add 1 4 10

change 1 16

max 2 4

stop916

【data range】

1<=n<=100,000,操作+詢問數目不超過100,000。

保證在任意時刻,所有樹枝上毛毛果的個數都不會超過10^9個。

bzoj1984 月下「毛景樹」

傳送門 果然強校出的題都有坑 好吧其實是我太弱 都知道化邊權為點權了還沒發現鏈上查詢和修改時的坑 知道了這個這題就是板子題了 code include includeusing namespace std define n 100005 struct tree t n 2 int f n deep ...

BZOJ1984 月下「毛景樹」

題目 月下 毛景樹 解析 樹鏈剖分。注意一下線段樹的標記下傳的問題,先下傳覆蓋標記再下傳增加標記,且下傳覆蓋標記後要將增加標記取消。詳見 算了還是說下問什麼這樣下傳標記吧。如果先下傳add再下傳cover,你會發現對於修改同一區間,操作順序是先add再cover時下傳沒有問題,但如果是先cover再...

BZOJ 1984 月下「毛景樹」

演算法 樹鏈剖分 線段樹 題解 線段樹的區間加值和區間覆蓋操作不能同時存在,只能存在乙個。修改 從根節點跑到目標區域路上的標記全部下傳,打完標記再上傳回根節點 有變動才需要上傳 詢問 訪問到目標區域路上的標記全部下傳。我寫的線段樹版本是在打標記的同時便對該點的詢問項 最大值 做了對應更改,即可保證訪...