在dp的領域中還有的很大一部分就是組合計數。
以前做了fhq在集訓隊作業中的《連邊》這道題,大概就是要你給乙個圖連邊是的若干個點度數為奇數。
比較容易發現是一道dp題,但是怎樣保證狀態不重不漏?
常用的方法就是增維,比如按照排序大小擴充套件啦,按照字典序擴充套件啦從而使得狀態不重,但是還有兩種方法可以使得狀態不重不漏,那就是除法和減法!
除法可能大家用的多,比如最常見的組合數就是利用的除法,從排列數除以n!,但是減法就比較少見了。
今天在gyh的集訓隊作業裡面找到了連邊這道題的加強版,簡要描述如下:
facer有n種巧克力,從這n種巧克力選3種共有c(n,3)種可能,從這c(n,3)種選出m種,就一共有3m個巧克力,對於每種巧克力,若至少有兩個該種巧克力,則將它們同時吃掉,問各種巧克力剩下的數目和輸入相同的選取方案有多少種,輸出答案除10007的結果。
狀態為f[i,j]表示現在已經選了i個巧克力組合,還剩下j種巧克力。這個狀態實際上是可以通過巧妙的除法和減法,因為如果選了兩個重複的方案,我們依然還是可以知道應該從誰轉移過來,因為j值不變。
組合計數(初步)
組合數學主要是研究某組離散物件滿足一定條件的安排的存在性 構造及計數等問題。組合計數理論是組合數學中乙個最基本的研究方向,主要研究滿足一定條件的安排方式的數目及其計數問題。本課程主要介紹組合數學中常見的和重要的一些計數原理 計數方法和計數公式,包括一般的排列 組合的計算以及生成函式 容斥原理 反演原...
組合計數筆記
ck n n k n k ck n ck n 1 ck 1 n 1 ck 1 n n kk 1 ckn n個數進行排列,每個數都不在自己的位置上的方案數 dn n 1 dn 1 dn 2 推導 對於第 n 個數,不放在 n位置,一共有 n 1 種情況 第 n 個數放定後,假設放在 k上,考慮第 k ...
多重集組合計數
n 種物品,第 i 種物品有ai 個。不區分同類物品,從中取出 m 個,問有多少種取法 答案取模109 7 1 n 1000 1 m 1000 1 ai 1000 dp i j 表示前面 i 種物品,取出 j 個的取法數目。考察第 i 種物品取了 k 個 0 k min ai j 那麼在剩下的 i ...