OI R1 後方之水

2022-09-19 10:42:09 字數 1200 閱讀 9976

數學題,果然我數學不好。

首先,合併石子的順序與答案無關,因為每個石子對其他石子都產生了乘積的貢獻。

所以總代價就是 \(\displaystyle\sum_\sum_^\sum_^a_a_=\sum_\frac^\sum_^a_a_-\sum_^a_^2}=\frac s^2-\sum_^a_^2}。\)

考慮插板法,因為這個相當於把 \(s\) 個物品分成 \(n\) 份,方案數就是 \(\displaystyle\binom\),所以就有。

\[\frac s^2-\sum_^a_^2} = \frac-\sum_ \sum_^a_^2}

\]後面那一坨玩意該怎麼算呢?

考慮對於每乙個數 \(i\in [1,s]\) 它會出現多少次,這個也是插板法,強制 \(s\) 中選出 \(i\) 個,然後將剩下的分成 \(n-1\) 組,即 \(\displaystyle\binom\),然後還要乘上乙個 \(n\) 表示 \(i\) 可能被分到 \(n\) 種組裡去。

即 \(\displaystyle\frac-\sum_ \sum_^a_^2}=\frac-n\sum_^\binomi^2}\)。

右邊那玩意兒很像卷積的形式,我們卷起來的那兩個式子拿出來,得到他們的生成函式。

\[f(x)=\sum_^(i+1)^2x^i = \frac\\

g(x)=\sum_^ \binomx^i = \bigg(\frac\bigg)^

\]然後:

\[\frac-n[x^s]\bigg( \bigg(\frac\bigg)^ \frac\bigg)} \\

=\frac-n[x^s]\frac}} \\

\]我們把 \(\displaystyle\frac}\) 展開:

\[\frac}=\frac}+\frac}}}=\frac\cdot \big( \frac \big) ^n + \frac\cdot \big( \frac \big) ^ \\

=\sum_^ (\sum_^(j+1)\binom) x^i + \sum_^ (\sum_^\binom) x^i \\

=\sum_^ \big( \binom + \binom \big) x^i

\]所以 \([x^s]=\displaystyle \binom + \binom\),

所以原式:\(\frac-n\bigg( \binom + \binom\bigg)} = \displaystyle\binom\binom\)

Java之演算法(1)

1 排序 collections類中的sort方法可以一對實現了list介面的集合進行排序 例子 liststaff new linkedlist staff.add sss staff.add ablily staff.add slina staff.sort comparator.reverse...

Linux之執行緒(1)

今天講下linux執行緒這塊的知識,我想很多人應該都知道多執行緒的重要性,現在多執行緒被運用在專案中的次數越來越多,而且面試中多執行緒也是必問的,所以要引起我們足夠的重視將這塊的知識學紮實。在說執行緒之前我們不得不提到程序,從使用者角度來說 程序是執行中的程式 作業系統角度來說 程序是作業系統對執行...

linux之通訊之訊號學習1

比如我們按下了鍵盤或者其它硬體故障 軟體 最常用傳送訊號的系統函式是kill,raise,alarm 和setitimer 以及sigqueue 函式,軟體 還包括一些非法運算等操作。程序可以通過三種方式來響應乙個訊號 1 忽略訊號,即對訊號不做任何處理,其中,有兩個訊號不能忽略 sigkill 及...