前言:
這是我退役賽省選中唯一一道答得令自己滿意的題目。
也就是$skyh:$難道你沒$ac$
的那道題。
這道題我想了大概二十多分鐘。覺得不是很簡單。
然而考後出來才發現,大神們都是用數學推導$ac$的這道題。
而我,眾所周知,退役在即的我菜的不行,自然不會數學推導。
所以說如果你什麼也不會,你怎麼做這道題呢?
於是這裡有乙個菜菜的組合含義理解方法。(幾乎)沒有任何數學推導。
(可能和luogu的某些題解撞了?不知道我沒看)
雖然時間複雜度顯然不優是$o(m^2log)$的但是應該比較好懂……(考場上犯傻了其實可以簡單優化成$o(m^2)$)
於是打算做乙個大膽的嘗試:能不能給學弟(妹)們講懂。
沒關係看不懂就證明我果然還是太菜了qaq
$description:$
求$\sum\limits_^ \binom x^k f(k)$其中$f(x)=\sum\limits_^ a_ix^i$
15%:$n\le 10^3$
+25%:$m=0$
+20%:$x=1$
100%:$m\le 10^3,others \le 10^9$
(只給出了我用到的部分分)
$n \le 10^3:$
你可以用多項式多點求值求出所有$f$的值然後……編不下去了。
(真慶幸沒單獨提出來乙個$n \le 5 \times 10^4$的部分分)
$m=0:$
也就是說$f(x)$是乙個與$x$無關的常數。不妨設其為$1$最後乘上常數倍。
式子的形式是:$\sum\limits_^ x^k \binom$
考慮實際含義:我們要對於所有$k$求出,從$n$個物品裡選出$k$個,每種選法的貢獻是$x^k$
於是我們可以對於這$n$個物品考慮:每個物品被選中就貢獻$x$,沒被選中貢獻$1$,一種選法的貢獻就是所有物品乘起來。
你要求出的是所有選法的貢獻和,而物品之間是獨立的,每種物品都會作為$1,x$出現各一次。
所以其實就是$(1+x)^n$。把這個東西展開,就是乘法分配律,就得到的是所有方案的和。
(然而寫出啦我才知道,這不就是個二項式定理嗎我考場上為啥要這麼弱智啊)
$x=1:$
也就是說$x^k$那一項消失了。剩下的形式是$\sum\limits_^ f(k) \binom$
你自然拿多項式沒什麼辦法,所以把它展開:
$\sum\limits_^ a_i \sum\limits_^ k^i \binom$
外邊的這個$i$大力列舉。考慮內部的組合含義:
我要從$n$個物品裡選出$k$個,然後貢獻是$k^i$($i$是列舉的所以已知,可以視為常數)
這個$k^i$好像有點難辦,怎麼去理解?就是從$k$個物品裡可重複地選擇$i$次啊。
所以我們就是要從$n$個數里選$k$個,再在這$k$個裡可重複欽定$i$次。
卡住了。於是我們改變列舉的東西:我們嘗試去列舉一下這$k$個物品裡有多少個物品被至少欽定過一次,設為$j$。
(因為你是可重複選擇$i$次,所以列舉上屆就是$i$,$i \le m$複雜度沒問題)
那麼我們從$n$個物品裡選擇$j$個作為被欽定過地元素:這是$\binom$
那麼你要把$i$次選擇分配給這$j$個元素,且每個元素非空。這顯然是個第二類斯特林數。
(啊學弟們是不是不知道什麼是斯特林數啊,那我失敗了啊,我好菜啊)
然而其實只是乙個$o(n^2)$遞推的東西:$\begin n \\ k \end$表示將$n$個帶編號的球扔進$k$個不帶標號桶裡且每個桶都有球的方案數。
然而在本道題當中,根據題目含義,桶是帶標號的,所以還要乘上乙個階乘。這裡的階乘和上面的組合數形成下降冪$n^}$
(這個東西學弟們可以當成乙個dp來做)
同時你還要考慮原來$n$個裡選$k$個的過程:我們知道我們所欽定的$j$個元素一定被選了,沒欽定的$n-j$個元素選不選都可以,總方案數是$2^$
所以總的方案數是$\sum\limits_^ a_i \sum\limits_^ n^} 2^ \begin i \\ j \end$
兩層迴圈暴力列舉完事。組合數的話因為$n$是確定的所以直接搞乙個下降冪就好了。
無特殊限制:
$\sum\limits_^ \binom x^k f(k)$
和上乙個部分分一樣先拆$f$得到$\sum\limits_^ a_i \sum\limits_^ k^i \binom x^k $
其實除了$2^$那部分以外,其餘都和上面一樣可以得到$n^} \begin i \\ j \end$
然後因為$x$不再是$1$所以我們不是要計數方案,而是統計方案的貢獻和。其中的貢獻和第一檔部分分一樣,選中是$x$沒選中是$1$
然後就比較簡單了:你欽定的$j$個都一定被選中了是$x^j$,剩下的選不選都行,考慮所有情況就是$(x+1)^$
最後的答案是$\sum\limits_^ a_i \sum\limits_^ \begin i \\ j \end x^j (x+1)^ n^}$
我個弱智只預處理了斯特林數和下降冪,剩下的快速冪,$o(m^2log)$
然而快速冪只用到了$x^,(x+1)^$。$a \le m$。所以說也可以簡單預處理。複雜度下降到$o(m^2)$
我相信學弟們一定沒聽懂。我太菜了
我就是來騙閱讀量的
其實這道題這麼順下來部分分給的真棒啊……我喜歡。雖然並無卵用
1 #include2令人快活的13行ac**using
namespace
std;
3const
int $=1003;4
intst[$][$],mod,n,m,x,a[$],dpw[$],ans;
5int qp(int b,int t,int a=1)
6int
main()
省選聯考2020A卷 組合數問題 題解
首先常規地把 f k 拆開 sum nf k x k binom sum ma i sum nk ix k binom 然後證明乙個組合恒等式 sum nk ix k binom sum in x j 1 x begini j end square 考慮它的組合意義 有 n 個不同的盒子,每個盒子可...
聯合省選 2020A 組合數問題 題解
這題算是我斯特林數的入門題,順便安利大佬的部落格,我是從這篇部落格中學的斯特林數。begin sum n f k times x k times dbinom n k sum n m right x k dbinom nk texttt sum n m ii j endk right x k dbi...
省選聯考 2020 A 卷 魔法商店
點此看題 由於 這東西 已經鴿掉了,那麼我就寫一篇只記錄做法的部落格吧。首先講一下保序回歸的一般做法,我們考慮使用整體二分求解 f f 指調整後的 設現在 f 的範圍是 l,r 我們要檢測 f i leq mid 是否為真,稱額外限制 f i in a,b 的問題為 問題。我們可以考慮原問題的 問題...