【題解】Solution Set - NOIP2024集訓Day2 線段樹
https://www.becoder.com.cn/contest/5431
「CF1149C」Tree Generator™
結論:
對於括號序列的一個子段,刪去所有的匹配括號之後,剩下的不匹配的括號,按順序構成樹上的一條路徑。
Why?
從括號序列的構造出發。每次
(
相當於開始遍歷一個點,)
相當於結束遍歷一個點。刪掉之後的括號序列,一定是形如
...)))((((...
的。相當於是先從一個點開始向上跳,然後一堆匹配的括號,相當於是跳過這整個子樹,然後再不斷向下跳。
推論:
一棵樹的直徑即為其括號序列的任意子段的不匹配括號數量的最大值。
Why?
跟上面思路類似,可以證明樹上的任意一條路徑都可以被括號序列的一段子段表示。
然後,就可以正式開始這道題了。