交錯排列型容斥


交錯排列型容斥

引例:\(n\) 種顏色的球分別 \(a_i\) 個,相鄰不同色,排列,方案數。

\(m=\sum a_i\le 10^5\)

首先考慮題目中的限制條件是什么,對於單種顏色的球從左往右看,第 \(i\) 個跟第 \(i+1\) 個不相鄰,那么該顏色就對應着 \(a_i-1\) 個限制。

普通容斥,也就是枚舉打破多少限制

\[\sum_{b_1\sim b_n,b_i\in[0,a_i-1]} \prod_{i=1}^n(-1)^{b_i}{a_i-1\choose b_i}\times {(\sum a_i-b_i)!\over \prod_{i=1}^n (a_i-b_i)!} \]

換成枚舉 \(c_i=a_i-b_i\),然后 \(c_i\) 的意義是說第 \(i\) 個顏色強制縮成這么多個段。

\[\sum_{c_1\sim c_n,c_i\in [1,a_i]} (\sum c_i)!\prod_{i=1}^n(-1)^{a_i-c_i}{(a_i-1)!\over (a_i-c_i)!(c_i-1)!}{1\over c_i!} \]

注意到可以按 \(\sum c_i\) 統計答案,那么構造關於后式的普通生成函數

\[F_i(x)=\sum_{j=1}^{a_i}(-1)^{a_i-j}{(a_i-1)!\over (a_i-j)!(j-1)!j!}x^j \]

用分治 ntt 卷積以后統計答案即可,復雜度 \(O(m\log^2m)\)

當然這個是帶標號球的拼接,顯然可以直接用指數生成函數來理解,本質是一樣的。

2018 集訓隊作業 - 青春豬頭少年不會夢到兔女郎學姐

給定 \(n\) 種顏色的球,第 \(i\) 種顏色的球數量為 \(r_i\) ,對於一種排列方式,貢獻可以如下計算:先把這個序列首尾相連,然后把所有相鄰且顏色相同的段拿出來,貢獻為他們的長度之積,求所有貢獻和。
\((1,2,1,2)\)\((2,1,2,1)\) 貢獻相同但排列方式不同,要分別計算。

\(\sum r_i\le 10^5\)

提交地址:全網沒有。

此題極為毒瘤,必須要一步一步做,我們首先考慮不成環的情況。

Step 1

枚舉把顏色 \(i\) 切成 \(b_i\) 段,設 \(f(x,y)\) 表示 \(x\) 有序的切成 \(y\) 段的所有方案、每段長度乘積之和。

問題轉換為交錯排列,直接套用上題的式子,那么有:

\[\sum_{a_1\sim a_n,a_i\in[1,r_i]}f(r_i,a_i)\sum_{c_1\sim c_n,c_i\in [1,a_i]} (\sum c_i)!\prod_{i=1}^n(-1)^{a_i-c_i}{(a_i-1)!\over (a_i-c_i)!(c_i-1)!}{1\over c_i!} \]

\(c_i\) 整到前面來得到

\[\sum_{c_1\sim c_n,c_i\in [1,r_i]} (\sum c_i)!\sum_{c_i\le a_i\le r_i}f(r_i,a_i)\prod_{i=1}^n(-1)^{a_i-c_i}{(a_i-1)!\over (a_i-c_i)!(c_i-1)!}{1\over c_i!} \]

那么維護生成函數

\[F_i(x)=\sum_{j=1}^{r_i}\sum_{j\le a_i\le r_i}f(r_i,a_i)(-1)^{a_i-j}{(a_i-1)!\over (a_i-j)!(j-1)!j!}x^j \]

Step 2

考慮算這個 \(F_i(x)\)\(f(x,y)={x+y-1\choose y-1}\) ,可以結合組合意義理解,那么也可以推卷積計算了。

Step 3

分治 ntt 計算卷積,復雜度 \(O(m\log^2 m)\)

Step 4

要做環上的情況,我們欽定顏色 1 在序列最前頭並且結尾不是 1,那么用開頭是 1 的 - 開頭結尾都是 1 的。

(欽定 \(t\) 個位置為 1 相當於把 \(F_1(x)\) 多項式往左平移 \(t\) 位。)

這樣的一種方案,我們可以通過任意旋轉的方式遍歷所有可行方案,那么我們最終把答案乘以 \(m=\sum r_i\) 即可。

Step 5

然后你發現這樣會算重,具體的,一個方案有 \(j\) 段顏色 1,會被每個 1 遍歷一遍,所以算重 \(j\) 遍,那么可以在顏色 1 的生成函數中帶上 \(1\over j\) 的系數來抵消掉,問題才最終解決。

另外一種未知原理的方法

考慮計算關於序列的生成函數 \(f(x)\), 則 \(ans=m\sum_{j=1}^m (j-1)![x^j]f(j)\)
如果有知道為什么上式成立的大佬可以在下面評論,博主不勝感激。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM