CSP2019模擬 五彩樹

2021-09-30 01:19:16 字數 693 閱讀 8328

給定一顆n

nn個節點的樹,每個節點有[1,

m]

[1,m]

[1,m

]中的一種顏色,求乙個包含不少於k

kk種顏色的連通塊,使其它節點到該連通塊最短路徑的最大值最大。

資料範圍:n,m

≤1000000

n,m\le 1000000

n,m≤10

0000

0 如果已經確定乙個到連通塊最短路徑最大的節點p

pp,那麼答案就是以p

pp為根,最深的包含至少k

kk中顏色的點的子樹。求子樹的顏色種數可以用將同種顏色按一定順序,兩兩之間的lca

lcalc

a打上−1-1

−1的標記,本身打上+1+1

+1的標記,計算子樹的和來維護(考場上沒想到這個就涼了)。於是考慮列舉根,設f[u

]f[u]

f[u]

為u

uu子樹內包含至少k

kk種顏色的最深子樹,進行換根dp。在換根時主要問題在於舊的根變為新的子樹時,其本身的貢獻要重新計算,即它是否包含至少k

kk種顏色,而這個新的子樹不是原來樹中存在的,考慮轉化為它的補集(即要換根的子樹),而條件變為不完全包含的顏色不少於k

kk種,對應到dfs

dfsdf

s序上則是乙個二維偏序問題,用樹狀陣列維護即可。

(CSP2019模擬)閱讀

有n nn個字串,每次可以把每個字串都標記至多乙個字首,但這些字首之間不能有包含關係,求把所有字串的所有字首都標記完的最小次數。資料範圍 n nn,字串總長 100000 le100000 10000 0 如果乙個字串s ss的字首a aa包含於另乙個字串t tt的字首b bb,那麼a aa是t t...

CSP2019模擬測試 遊戲

給定乙個n m n mn m的矩形方格紙,每次可以把它裁為兩個子矩形,若裁出乙個1 1 1 11 1則勝,判斷先手是否必勝。n 2000,m 2000 n le 2000,m le 2000 n 2000 m 2 000 直觀的想法是設f i j f i j f i j 為i ji j i j的矩形...

CSP2019樹的重心

題解 csp2019d2t3 首先我們要明確乙個性質,那就是對於一棵樹的任何乙個節點來說,如果這個點不是重心,那麼這棵樹的重心就一定在這個節點的以重兒子為根節點的子樹裡 證明顯而易見,因為該點不是重心所以siz 重兒子 一定大於 lfloor frac rfloor 另外還有乙個重心的定義 重心所有...