1. 程式人生 > >bzoj4129 Haruna’s Breakfast 莫隊

bzoj4129 Haruna’s Breakfast 莫隊

這個思想不難理解了前面幾個就能懂

但是程式碼比較複雜,大概會和之前幾次碰到難題的時候一樣,一步步思考下去,然後把難點分成好幾個板塊講下qwq

首先讀入這顆樹,預處理下lca,然後就分塊,這個時候就會碰到第一個難點了

第一個點是,怎麼分塊

對不起無法理解無法證明為什麼是醬嬸的,但是實現並不難qwq

首先明確的是塊的大小是n0.45不要問我為什麼不會:D

就是如果這個塊內的任意倆點距離都小於塊的大小,就可以放在一塊中

然後這個可以通過dfs+棧實現

貼程式碼處qwq

分塊搞完之後就可以讀入修改和詢問了,這裡就沒有太難感覺,用倆結構體就是了

然後排序,就和帶修莫隊是一樣的,不講

然後就開始解決問題

這個板子題有個很美滋滋的事兒,就是它修改起來特別簡單,一路照著鏈走就是了,然後^修改就是了

但是又會遇到第二個,不算難點,大概是坑點qwq

第二個點是,lca很委屈

顯然lca那個點會求兩次

所以要另外求一次

沒了

沒辣!搞完辣!

哇突然覺得程式碼也沒那麼複雜?

over!

-------------------------以上是莫隊筆記裡的qwq也是先放著等做完題目再來編輯然後放程式碼qwq