目錄組合意義
定義:設\(f(x) = h_1, h_2, h_3...h_n...\)是乙個序列,那麼定義一階差分序列為:
\[\delta h_0, \delta h_1...\delta h_n...
\]其中$$\delta h_n = h_ - h_n$$
我們遞迴的定義$$\delta^ph_0, \delta^ph_1, \deltaph_2...\deltaph_n...(p \ge 1)$$為\(f(x)\)的\(p\)階差分序列,其中\(\delta^ph_n = \delta(\delta^h_n)\)
特別的,乙個序列的\(0\)階差分序列是它自己。
性質與相關定理
定理1 設序列的通項是n的p次多項式,即:
\[h_n = a_pn^p + a_n^... + a_1n + a_0(n \ge 0)
\]則對所有的\(n \ge 0,\delta^h_n = 0\)
可以用歸納法證明:
差分的線性性 :定義序列:\(h_n = f_n + g_n\)那麼顯然有\(\delta h_n = \delta g_n + \delta f_n\)
進一步歸納可以得到:
\[\delta^p(cg_n + df_n) = c\delta^p g_n + d\delta^p f_n
\]利用差分的線性性和差分表第0條對角線(最左邊那個右下方向的),可以確定整個序列,因此可以引申出如下定理:
定理2 假設差分表第0條對角線為:\(c_0, c_1, c_2, c_3...c_p,0,0,0...\),其中\(c_p != 0\)那麼我們有:
\[h_n = c_0 \binom + c_1 \binom + ... + c_p \binom
\]所以:
\[\sum_^n h_k = c_0 \sum_^n \binom + c_2 \sum_^n \binom + ... + c_p \sum_^n \binom
\]因為組合數性質:(大概可以用楊輝三角理解一下)
\[\sum_^ \binom = \binom
\]可以得到:
\[\sum_^h_k = c_0 \binom + c_1 \binom + ... + c_p \binom
\]\(\delta\) 乙個複雜度\(o(次數)\)的求部分和的公式
出現在差分表第0條對角線上的那些數具有其組合意義。討論(未完成,瞎寫的,不要看)
設\[h_n = n^p
\]那麼差分表的第0條對角線有如下形式:
\[c(p, 0), c(p, 1), c(p, 2)...c(p, p), 0, 0...
\]因此有
\[n^p = c(p, 0) \binom + c(p, 1) \binom + ... + c(p, p) \binom
\]記為1式。
如果p = 0, 則h_n = 1,它是乙個常數,因此上式變為:
\[n^0 = 1 = 1 \binom = 1
\]特別的,
\[c(0, 0) = 1
\]因為若\(p \geq 1\),則作為\(n\)的多項式,\(n^p\)有乙個等於0的常數項,所以:
\[c(p, 0) = 0 (q \geq 1)
\]為了方便表示,我們用更加簡潔的符號來表示排列數,即\([n]_k = p(n, k)\),表示\(n\)個不同物件的\(k\)排列數。
我們通過引入新的表示式來改寫1式。則1式可以被表示為:
\[[n]_k = begin
n(n - 1)...(n - k + 1) \quad (k \geq 1) \\
1 \quad (k = 0)
end\]
同時注意到:
\[[n]_ = (n - k)[n]_k
\]因為
\[\binom = \frac = \frac
\]由此得到:
\[[n]_k = k! \binom
\]因此,我們可以將1式進一步的改寫為:
\[n^p = c(p, 0)\frac + c(p, 1)\frac + ... +c(p, p)\frac
\]\[= \sum_^p c(p, k)\frac = \sum_^p\frac[n]_k
\]我們引入第二類斯特林數。記:
\[s(p, k) = \frac \quad (0 \le k \le p)
\]因此改寫後的1式可以更進一步變為:
\[n^p = s(p, 0)[n]_0 + s(p, 1)[n]_1 + ... + s(p, p)[n]_p = \sum_^s(p, k)[n]_k
\]因為
\[s(p, 0) = \frac = c(p, 0)$$.
因此:$$s(p, 0) = \begin
1 \quad (p = 0)\\
0 \quad (p \geq 1)
\end\]
(沒寫完……)
IncDec序列 差分
給定乙個長度為 n 的數列 a1,a2,an每次可以選擇乙個區間 l,r 使下標在這個區間內的數都加一或者都減一。求至少需要多少次操作才能使數列中的所有數都一樣,並求出在保證最少次數的前提下,最終得到的數列可能有多少種。第一行輸入正整數n。接下來n行,每行輸入乙個整數,第i 1行的整數代表ai。第一...
JS學習筆記(持續更新中)
為什麼要使用序列化了,不管是在接收後台資料還是前台向後台傳資料時,很多時候都需要使用序列化和反序列化。在向後台傳資料時,我們有時候需要使用 序列化,此時的str就是序列化後的字串 var str json stringify data 在接收後台資料時,我們可以通過反序列化來進行反序列化 var d...
oracle學習 一 (持續更新中)
首先你需要建立乙個表空間,然後,再建立乙個使用者名稱,使用者名稱要給他指定乙個表空間,並且給這個使用者賦予許可權,dba 擁有全部特權,是系統最高許可權,只有dba才可以建立資料庫結構。resource 擁有resource許可權的使用者只可以建立實體,不可以建立資料庫結構。connect 擁有co...