福建省隊集訓 20180708

福建省隊集訓 20180708

分數就當爆零了吧,不想敲暴力,直接訂正

tetris

set維護區間覆蓋(均攤O(n),每個點只會被覆蓋一次),然後就對兩個形狀有一個偏移量求重疊的高度取max

好像直接bitset+記憶化就行了。猜不透他的複雜度,反正能過

intensify

容斥再總結:

F爲恰好滿足所有這些條件,G爲至少滿足這些條件: \(G_{S}=\sum_{S\in T}F_{T},F_{S}=\sum_{S\in T}-1^{|T|-|S|}G_T\)

所有條件等價:\(G_i=\sum_{j=i}^n {n\choose j}F_j,F_i=\sum_{j=i}^n-1^{i-j}{n\choose j}G_j\)

這題裏F爲至少滿足一個條件,並且所有條件等價,那麼\(ans=G_{\emptyset}-F_{\emptyset}=\sum_{j=1}^n-1^{j-1}{n\choose j}G_j\)

具體來說,設\(P(t)\)爲時間t仍然沒有結束的生成函數,\(P=\sum_{t=1}^m p_t\)

\[p_t=\sum_{i=1}^m(-1)^{i-1} {m\choose i}\frac{f_{i,m-i}(t)}{m^t} \]

m^t代表所有選擇,\(f_{i,j}(t)\)表示t個回合中都強化前\(i+j\)項屬性,所有方案的前 \(i\) 項屬性都不滿上限的概率之和。爲什麼要這麼表示呢?因爲可以遞推:

\[f_{0,j}(t)=j^t,f_{i,j}(t)=\sum_{l=0}^{k-1}{t\choose l}w_l f_{i-1,j}(t-l) \]

這個式子的意思是用l個回合強化i,\(w_l\)表示l個回合提升總等級小於k的概率,可以用簡單dp

然後\(f_{i,j}(t)=F_{i,j}(t)*\left(\frac j m\right)^t\)\(F_{i,j}(t)\)是一個不超過im次的關於t的多項式(展開組合數)

由插板法,

\[\begin{aligned} \frac{1}{(1-x)^{m+1}}&=\left(\sum_{n\leq 0}x^n\right)^{m+1}\\ &=\left(\sum_{n\ge 0}\binom{m+1+n-1}{n}x^n \right)\\ &=\sum_{n\ge 0}\binom{m+n}{n}x^n \end{aligned} \]

那麼

\[\sum_{t=0}^{\infty}{t\choose k}a^t=\left(\frac 1{1-a}\right)^k*a^k \]

相當於右移k位。

這提示了我們將Fijt維護成組合數多項式的形式,

\[\begin{aligned} ans&=\sum_{i=1}^m(-1)^{i-1}{m\choose i}\sum_{t=0}^{\infty}\left(\frac j m\right)^t\sum_j^{\infty}a_j{t\choose j}\\ &=\sum_{i=1}^m(-1)^{i-1}{m\choose i}\sum_{j=0}^{\infty}a_j\sum_{t=0}^{\infty}\left(\frac j m\right)^t{t\choose j} \end{aligned} \]

然後j其實沒有那麼多項,寫\(\infty\)只是爲了交換方便,可以當成後面的a都是0,那麼枚舉j再結合上面的式子就能算了。

關於維護組合數多項式,rqy在羣裏教的

\[C(t,l) * C(t-l, k) = C(t,k+l) * C(k+l,k) \]

後面的就看不懂了。

今天又是無所事事的一天

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章