BZOJ-1036-树的统计Count
生活随笔
收集整理的這篇文章主要介紹了
BZOJ-1036-树的统计Count
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
描述
一棵樹上有n個(gè)節(jié)點(diǎn),編號(hào)分別為1到n,每個(gè)節(jié)點(diǎn)都有一個(gè)權(quán)值w。我們將以下面的形式來要求你對(duì)這棵樹完成一些操作: I. CHANGE u t : 把結(jié)點(diǎn)u的權(quán)值改為t II. QMAX u v: 詢問從點(diǎn)u到點(diǎn)v的路徑上的節(jié)點(diǎn)的最大權(quán)值 III. QSUM u v: 詢問從點(diǎn)u到點(diǎn)v的路徑上的節(jié)點(diǎn)的權(quán)值和. 注意:從點(diǎn)u到點(diǎn)v的路徑上的節(jié)點(diǎn)包括u和v本身.
分析
學(xué)了樹鏈剖分就能做的題目.
- 一個(gè)查詢和操作和一個(gè)查詢最大值操作, 中間的步驟不一樣. 可以寫兩個(gè)函數(shù), 返回值初始化的時(shí)候不一樣, QSUM的時(shí)候初始化為0, QMAX的時(shí)候初始化的時(shí)候初始化為 -INF.
- 想不通過樹鏈剖分直接調(diào)用線段樹 (比如本題的修改操作, 因?yàn)槭菃吸c(diǎn)修改), 修改的不是x而是tid[x]也就是x的新編號(hào). 因?yàn)榫€段樹里的編號(hào)是重新編的.
代碼
https://code.csdn.net/snippets/607983
INF 可以設(shè)為 0x3f3f3f3f, 這樣 memset(0x3f) 后數(shù)組初始值都等于 0x3f3f3f3f. 比較好的性質(zhì). ——Archon
一堆宏, 寫熟了很好用. ——Archon
總結(jié)
以上是生活随笔為你收集整理的BZOJ-1036-树的统计Count的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器安置(Routing)
- 下一篇: CODEVS-3303-翻转区间