福建省队集训 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) \]

后面的就看不懂了。

今天又是无所事事的一天

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