計數初步

Outline

  • 計數原理
  • 組合數/二項式係數
  • 錯位排列
  • 卡特蘭數/卡塔蘭數
  • 斯特林數/斯特靈數
  • 三元環計數

加法原理

在這裏插入圖片描述

乘法原理

在這裏插入圖片描述

定義

在這裏插入圖片描述

計算

在這裏插入圖片描述

小♂試牛刀

  • i=1nXi=m,(Xi>0)\sum_{i=1}^nX_i=m,(X_i>0)的方案數。

    (把m個相同小球放在n個不同盒子,盒子不能爲空的方案數)

  • i=1nXi=m,(Xi>=0)\sum_{i=1}^nX_i=m,(X_i>=0)的方案數。

    (把m個相同小球放在n個不同盒子,盒子可以爲空的方案數)

  • i=1nXi=m,(Xi>=k)\sum_{i=1}^nX_i=m,(X_i>=k)的方案數。

    (通過給所有盒子欽定都先有k個小球,然後轉化爲問題2)

  • 有m種顏色,第i種顏色恰好用XiX_i(i=1mXi=n)(\sum_{i=1}^mX_i=n),用這些顏色給一個長度爲n的序列上色的方案數。

    • ans=Cnx1Cnx1x2Cnx1x2x3Cnx1x2...xm1xmans=C_n^{x_1}C_{n-x_1}^{x_2}C_{n-x_1-x_2}^{x_3}…C_{n-x_1-x_2...-x_{m-1}}^{x_m}
    • ans=n!Πi=1mxi!ans=\frac{n!}{\Pi_{i=1}^{m}x_i!}
  • n×mn × m的棋盤,每次都只能向上或者向右,(1,1)(1,1)->(n,m)(n,m)的方案數。

    (總共走了n+m-2步,把向上走的n-1步任意穿插在裏面,ans=Cn+m2n1ans=C_{n+m-2}^{n-1}

  • n×mn × m的棋盤,有兩個棋子分別位於(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。ans=ans1ans2ans3ans4ans=ans1*ans2-ans3*ans4

圓排列

在這裏插入圖片描述

例1 組合數前綴和

在這裏插入圖片描述

Solution

Lucas定理

在這裏插入圖片描述

例題2 [SHOI2015]超能粒子炮

在這裏插入圖片描述

例題3 [SDOI2010古代豬文]

在這裏插入圖片描述

錯位排列

在這裏插入圖片描述

例題4 [BZOJ4563]
  • 模板題直接求D(n)D(n)就是答案,不過給你了個噁心的高精度。不寫了。
例題5 [SDOI2016]
  • 這題比較良心,有取模。注意的是需要乘上一個組合數,所以先O(n)O(n)處理階乘和階乘的逆元。

卡特蘭數

在這裏插入圖片描述
在這裏插入圖片描述

例題5 [BZOJ2822]樹屋階梯
  • 毒瘤高精度請注意!

第一類斯特林數

在這裏插入圖片描述

例題6 [Loj2173]建築師
  • 不錯的題,算是第一類斯特林數模板題,不過有取模qwq。

第二類斯特林數

在這裏插入圖片描述

三元環計數

在這裏插入圖片描述

  • 統計每個點的度數
  • 入度<=m\sqrt{m}的分爲第一類,入度>m\sqrt{m}的分爲第二類
  • 對於第一類,暴力每個點,然後暴力這個點的任意兩條邊,再判斷這兩條邊的另一個端點是否連接
    因爲m條邊最多每條邊遍歷一次,然後暴力的點的入度<=m\sqrt{m},所以複雜度約爲O(mm)O(m\sqrt{m})
  • 對於第二類,直接暴力任意三個點,判斷這三個點是否構成環,因爲這一類點的個數不會超過m\sqrt{m}個,所以複雜度約爲O(m3)=O(mm)O(\sqrt{m}^3)=O(m\sqrt{m})
  • 判斷兩個點是否連接用map就可以,根據具體情況而行
  • 對於第一類我們需要爲了去一下重,可以每做完一個點,給他打上一個標記。下次對其他點計數時,如果含有被打過標記的點,不參與計數。

完結撒花!

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