Outline
- 計數原理
- 組合數/二項式係數
- 錯位排列
- 卡特蘭數/卡塔蘭數
- 斯特林數/斯特靈數
- 三元環計數
加法原理
乘法原理
定義
計算
小♂試牛刀
-
的方案數。
(把m個相同小球放在n個不同盒子,盒子不能爲空的方案數)
-
的方案數。
(把m個相同小球放在n個不同盒子,盒子可以爲空的方案數)
-
的方案數。
(通過給所有盒子欽定都先有k個小球,然後轉化爲問題2)
-
有m種顏色,第i種顏色恰好用次,用這些顏色給一個長度爲n的序列上色的方案數。
-
的棋盤,每次都只能向上或者向右,->的方案數。
(總共走了n+m-2步,把向上走的n-1步任意穿插在裏面,)
-
的棋盤,有兩個棋子分別位於(1,2),(2,1),這兩個棋子同時移動,每次只能向上或者向右,(1,2)->(n-1,m),(2,1)->(n,m-1),同時兩個棋子的路徑交集爲空的方案數。
(考慮容斥,先求出兩個點到終點任意走的方案數爲ans1和ans2,減去不合法的方案數。畫一下圖,發現兩條路徑交叉,可以看做從(1,2)->(n,m-1),(2,1)->(n-1,m)。求出分別方案數ans3,和ans4。)
圓排列
例1 組合數前綴和
Solution
Lucas定理
例題2 [SHOI2015]超能粒子炮
例題3 [SDOI2010古代豬文]
錯位排列
例題4 [BZOJ4563]
- 模板題直接求就是答案,不過給你了個噁心的高精度。不寫了。
例題5 [SDOI2016]
- 這題比較良心,有取模。注意的是需要乘上一個組合數,所以先處理階乘和階乘的逆元。
卡特蘭數
例題5 [BZOJ2822]樹屋階梯
- 毒瘤高精度請注意!
第一類斯特林數
例題6 [Loj2173]建築師
- 不錯的題,算是第一類斯特林數模板題,不過有取模qwq。
第二類斯特林數
三元環計數
- 統計每個點的度數
- 入度<=的分爲第一類,入度>的分爲第二類
- 對於第一類,暴力每個點,然後暴力這個點的任意兩條邊,再判斷這兩條邊的另一個端點是否連接
因爲m條邊最多每條邊遍歷一次,然後暴力的點的入度<=,所以複雜度約爲 - 對於第二類,直接暴力任意三個點,判斷這三個點是否構成環,因爲這一類點的個數不會超過個,所以複雜度約爲
- 判斷兩個點是否連接用map就可以,根據具體情況而行
- 對於第一類我們需要爲了去一下重,可以每做完一個點,給他打上一個標記。下次對其他點計數時,如果含有被打過標記的點,不參與計數。
完結撒花!