九省聯考 2018

2022-09-25 09:36:11 字數 728 閱讀 7647

發現狀態數很少,直接搜即可。

不難發現這個偏序關係形成了一棵樹。

本來以為直接貪心即可,即把 \(a\) 排序,然後 dfs / bfs 一遍直接安排權值,類似於這樣:

void dfs1(int u) 

void dfs2(int u)

不出我所料,這份簡單的**沒有過,被這組資料叉掉了:

2 2.0

1 1 1 2

發現這樣貪心得到的結果是1 1 1 2;而正確答案是1 1 2 1。發現我們要做的實際上是依次從 \(1 \sim n\) 安排每乙個位置上的數,安排的時候要判斷剩下的所有條件能否被滿足,條件即要給一些點預留一些數量的數,那麼使用線段樹維護即可。時間複雜度 \(\mathcal(n \log n)\)。記得搜到乙個點時消除其對父親的影響。

不過送 \(55\) 分也夠高了。

wqs 二分,凸性不會證。

考慮把新邊的權值改為 \(c\),然後做 dp。貪心好像不太行,於是考慮 dp:問題等價於求出 \(k + 1\) 條鏈,使得它們的權值和最大。

考慮二分給每一條鏈加上乙個額外權值 \(c\)。我們可以設 \(f_\) 表示以 \(u\) 為根的子樹內 \(u\) 未被選擇 / 是一條鏈的端點 / 是一條鏈的中間部分時的答案,並同時記錄相應的鏈數量即可。

時間複雜度 \(\mathcal(n \log v)\)。

九省聯考2018遊記

day0 上午到學校,去tututu寢室,入坑荒野求生,真tm好玩 雖然只打了一把 下午坐高鐵去sh,發現sh非正式選手只有hez的。day1 開局看t1,沒意識到狀態數是個組合數,於是寫了個程式算狀態數,還寫掛了 include int n 10,m 10,f 15 15 i,j,k int ma...

2018九省聯考墊底記

果然滾粗了,gg。考場在南理工,提前2個小時就到了。拿了hlt的電腦打 lct 然後1a,感覺自己棒棒的。看到一堆人在奶tjw,感覺那些人都太神了。沒有試機題,看到一堆神犇。最大流寫掛了,回家才調對。和cr互奶。自信200分很輕鬆 早上到考場看座位號,居然和陳神和喬神乙個考場 orz 8 00準時發...

九省聯考 2018 秘密襲擊

題意 給定一顆含 n 個結點的樹,每個點有點權 d i 求所有聯通塊中第 k 大之和。1 leq n,m,k leq 1666,1 leq d i leq m 時間限制 5 秒。題解一道很有趣的題目。做法簡述 由於 dp 為卷積形式對其多項式求點值,並通過類似整體 dp 的方式維護變換,再通過拉格朗...