FJOI2018 領導集團問題

2022-05-22 16:45:10 字數 559 閱讀 7379

給定帶點權樹,求最大的集合使得,集合內若兩點為祖孫關係,孫子權值$\le $祖先權值

令\(f_\)為\(u\)子樹內選擇\(i\)個點,最小值最大是多少,轉移顯然

考慮對每個點維護乙個可重集\(s_u\),降序,第\(i\)個點為子樹內選擇\(i\)個點,最小值的最大可能值

合併兩個子樹\(s_,s_\),直接合併集合即可

考慮將\(u\)加入所有子樹並起來的集合

若原集合為\(\\}\),\(u\)可以插入\(w_k\)之後,充要條件為\(w_u\le w_k\)

考慮\(u\)插入或不插,若插入插在最優的地方

\(\,w_,\cdots ,w_m\}\)

\(\,w_u\}\)

我們知道有\(w_,則最優的情況是將集合替換為

\(\\)

直接啟發式合併\(o(nlog^2n)\)

離散化權值

令\(f_\)為\(u\)子樹內最小值\(\ge i\)時選擇的最大點數

用線段樹維護差分,由於每次修改之跟\(w_u\)有關,子樹可以直接線段樹合併

FJOI2018 領導集團問題

fjoi2018 領導集團問題 dp i j i為根子樹,最上面的值是j,選擇的最大值 觀察dp方程 1.整體dp已經可以做了。2.考慮優美一些的做法 dp i 如果對j取字尾最大值,顯然是不上公升的分段函式 而段數就是子樹sz 樹形dp的時候,子樹之間可以直接把分段函式按位相加。對於 w x 的,...

FJOI2018 領導集團問題

首先本題貪心不是很好做,可以考慮 dp 然後我們有了乙個很直接的想法,令 dp 表示以 i 號點為根當前選擇的節點中權值最小的權值為 j 的最大成員數,可以發現這樣做是 o n 3 的。可以發現這個 dp 有很多轉移是相同的,那麼我們這樣做是非常浪費的,為了能夠快速轉移,我們可以改變一下狀態,令 d...

FJOI2018 領導集團問題

題解我們可以先搞乙個 dp 出來,dp u i 表示以 u 號節點為根的子樹,選擇集合元素中最小的不小於 i 的最優方案。然後我們可以發現這個 dp 是自帶乙個字尾 max 的,然後我們把它向後差分一下去維護。那麼觀察到對於乙個節點,它的所有子樹之間是互不影響的,所以我們直接把他們對應位置加起來就好...