正睿19暑期B班DAY6 DP

2022-05-07 09:51:08 字數 1823 閱讀 1728

毛姐姐的ppt做的真好看///

由於ppt裡真的很詳細了,建議看ppt理解

這裡做一些小批註

證明:f中不同的取值個數是\(\sqrt\)級別的

當\(k \leq \sqrt\)時 必然只有不多於\(\sqrt\)種取值

當\(k \geq \sqrt\)時 \(ans \leq n / k, n / k \leq \sqrt\) 所以也不多於\(\sqrt\)種取值

小套路:對於單調的答案 邊界上二分

\(o(n \sqrt log n)\)

\(x^k = \sum_^ \tbinom i! s(k, i)\)

\(s(k, i)\)是第二類斯特林數

表示將k個不同元素拆分成i個集合(k個不同的球放進i個相同的筐)的方案數

s[0][0] = 1;

for(int i = 1; i <= k; ++i)

for(int j = 1; j <= i; ++j)

關於這個式子的解釋。。

\(x^k\)可以看作k個不同的筐裡 每個筐放1~x個相同的小球

右邊\(\sum_^\)是列舉有多少個本質不同的筐(本質不同就是裡面放的小球數不同

我們讓筐擁有姓名 就乘上\(\tbinom\),表示選擇這i個本質不同的筐各有多少個小球,但球數相同的筐仍然是一樣的,而且我們並不知道每種球數的筐有幾個

\(i!s(k, i)\)是k個姓名,被放進i個集合,並把集合排序分發給筐,於是筐和球過上了幸福的生活

用這個也可以匯出斯特林數通項公式

\(ans = \sum_\sum_^ \tbinomi!s(k, i)\)

\(\sum_^ i!s(k, i) \sum_ \tbinom\)

揹包size和k取乙個min 可以分析出這樣的揹包複雜度為\(o(nk)\)

有t棵子樹大小等於k

\(f[i][j][k] = f[i - t * k][j - t][k - 1] \tbinom\)

解釋一下這個式子

\(f[i][j][k]\)表示節點數為i,共有j棵⼦樹,有t棵子樹的大小等於k

\(f[i - t * k][j - t][k - 1]\)很顯然啦

\(f[k][d - 1][k - 1]\)是因為要求中間節點度數為d 而且它每棵子樹多大並不限制

確定了前d - 1個子樹之後 為了保證總點數為k 最後一棵子樹的點數也確定了

\(\tbinom\)表示在x種⽅案中不分順序地選取t種,可重複的⽅案數

最後的答案

\(ans = f[n][d][\frac] - \tbinom][d - 1][\frac - 1] + 1}\)

注意右上角的加一是因為左右兩部分可以相同形態,所以需要增加乙個選項

\(o(n^2d^2)\)

遞推式分析

\(f[i] = \sum f[j - 1] \tbinom (i - j)!\)

列舉最大值出現在j的位置 滿足前j-1個數允許最大值出現

\(\tbinom (i - j)!\)表示第j位(即最大值)之後填充的是哪幾個數字以及它們的排列

子串行做法:\(f[i](0 \leq i \leq 3)\)表示現在最多有i個字母的最小代價

若s[i]為第j個字母 那麼\(f[j] = min(f[j - 1], f[j] + a[i])\)

子串做法:單詞內貪心一下,每個hard取四個字母中最小代價作為代價

​ link

其實並不用在狀態裡記錄數量

感覺所謂dp套dp

就是把一些影響統計並且隨著轉移改變的量寫進狀態裡

與上一題很類似 因為lcs非常短 用狀態壓縮模擬一般的求lcs過程

正睿19暑期B班DAY9 測試DAY2

我來給大家證明一下 我有分 我掉了57rating 強行微笑 t1t2暴力都寫炸了 大霧 0opts 47opts 65opts 花式樹形dp 100opts 建圖如下 node x,y 表示被贊助商y選擇 node x,trans 表示 x的中間點 s inf 0 root node x,1 2 ...

解題報告 2019正睿Day5

我們可以把染黑看成刪掉這條邊,那麼每次相當於是,如果存在乙個點有且僅有一條出邊,那麼把這條邊也刪掉,最後要刪完所有的邊。那麼我們考慮乙個環,可以發現這個環如果一條邊都不刪,那麼最後一定會被留下來,因為每個點都至少有兩個出邊。所以,在初始的邊刪完之後,圖一定得要無環。我們考慮乙個無環的圖,可以發現他就...

2019 8 10 金華正睿集訓總結Day14

今天講的例題部分day1講過,這裡不重複了,見day1部落格 期望的平方和平方的期望不同 e x1 x2 2 e x1 2 e x2 2 2e x1x2 當x 0或1 時,x2 x 乙個重要的等式 只對第一行設變數,最後一行列方程 需要注意零轉移情況 有時候max的期望不好算,但min的期望很好算 ...