1. 程式人生 > 其它 >Gym102253(2017 Chinese Multi-University Training, BeihangU Contest)

Gym102253(2017 Chinese Multi-University Training, BeihangU Contest)

連結

A. Add More Zero

B. Balala Power!

K. KazaQ's Socks

L. Limited Permutation

簽到題。

C. Colorful Tree

\(O(nlogn)\) 有若干種寫法:

點分:每次碰到該種顏色就統計這個顏色子樹內所有點關於這個顏色的貢獻,然後關於這種顏色這個子樹就直接刪掉

DSU on Tree:合併的時候也是對於較小子樹的各種顏色,對於較大的子樹還沒有這種顏色的點進行貢獻。

\(O(n)\) 的做法:相當於對於相鄰的同種顏色計算它們之間的白色連通塊大小。對於每種顏色維護一個 \(vector\) ,在 \(u\) 遍歷完其中一棵子樹 \(v\)

時,把 \(u\) 顏色的 \(vector\) 清空,並且白色連通塊大小就是 \(size_v\) 減去 \(vector\) 中的所有元素。

F. Function

考慮轉化一下題意,就有:

\[b^{-1}(f_i)=f(a_i) \]

也就是說假設 \(f(i)=x\) ,那麼就有 \(f(a_i)=b^{-1}(x)\),會發現自變數和因變數都在置換環上走。所以一個 \(a\) 的環答案就是所有長度是其因子的 \(b\) 環長度和,最後所有 \(a\) 環長度加起來即可。

H. Hints of sd0061

對於詢問排序,然後從後往前每次對於一個字首進行 \(\text{nth\_ element}\)

,總複雜度是 \(\sum Fib_i \leq 2n\)

J. Journey with Knapsack

推柿子:

\[\begin{aligned} &\ \ \ \ \prod_{i=1}^{n} (\sum_{j=0}^{a_i}x^{ij})\\ & =\prod_{i=1}^{n}(1-x^{(a_i+1)i}) \prod_{i=1}^{n} \frac{1}{1-x^i}\\ & \equiv \prod_{i=1}^{2n}\frac{1}{1-x^i}(1-\sum_{i=n+1}^{2n}x^i)\prod(1-x^{(a_i+1)i}) \mod x^{2n+1} \end{aligned} \]

第二行到第三行其實就是把右邊那個柿子容斥了一下變成正整數拆分。

然後後面兩項直接 \(O(n\sqrt n)\) 直接揹包即可,前面正整數拆分有一個五邊形數定理可以做:

\[\prod_{k=1}(1-x^k)=\sum(-1)^k x^{\frac{3k^2-k}{2}} \]

其中 \(x\) 的次數是五邊形數,直接搞出來然後求逆,但是要 \(\text{MTT}\)

還有一種是繼續做揹包:前面 \(\sqrt n\) 和整數直接揹包,後面因為個數 \(\leq \sqrt n\) ,所以做正整數拆分的 \(O(nm)\)\(dp\)\(m\) 為已選個數,每次可以選一個最小值或全體加 1。然後最後的 \(dp\) 可以在前面揹包做完的陣列上繼續做,這樣就不用卷積了。