數學題,果然我數學不好。
首先,合併石子的順序與答案無關,因為每個石子對其他石子都產生了乘積的貢獻。
所以總代價就是 \(\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 及...