日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数数题(计数类 DP)做题记录

發布時間:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数数题(计数类 DP)做题记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數數題(計數類 DP)做題記錄

CF1657E Star MST

我們稱張無向完全圖是美麗的當且僅當:所有和 \(1\) 相連的邊的邊權之和等于這張完全圖的最小生成樹的邊權之和。

完全圖點數為 \(n\),邊權 \(\in[1,k]\)\(1\le n,k\le 250\)

發現所有和 \(1\) 相連的邊邊權之和等于 MST 的邊權之和,即限制這張圖的 MST 就是以 \(1\) 為中心的“星星”形狀。

所以任意兩個點之間的邊權一定大于等于他們與 \(1\) 相連的邊的邊權的最大值。

那么設 \(dp(i,j)\) 表示連了 \(\le i\) 的邊權,選擇了除了 \(1\) 之外 \(j\) 個點的方案數。

那么枚舉狀態,將轉移表示把邊權為 \(i\) 邊新加進去,可以得到轉移方程:

\[dp(i,j)=\sum_{x=0}^{j}dp(i-1,x)\times \dbinom{j}{x}\times (k-x+1)^{\binom{j}{2}-\binom{x}{2}} \]

總時間復雜度 \(\mathcal{O(n^3)}\)(假設 \(n,k\) 同階)。

P8096 [USACO22JAN] Drought G

Farmer John 的 \(n(n\le 100)\) 頭奶牛站成一排,每一個都有一個饑餓值 \(h_i\),Farmer John 可以每次選擇相鄰的兩頭奶牛使她們的饑餓值同時 \(-1\)

Farmer John 想讓他的所有奶牛都有相同的饑餓值,盡管他不知道每頭奶牛具體的饑餓值,只知道她們每一頭饑餓值的上限 \(H_i(H_i\le 1000)\),使得 \(h_i\le H_i\)

請計算出所有滿足 Farmer John 的要求的 \(n\) 元組 \([h_1,h_2,\cdots,h_n]\) 數量對 \(10^9+7\) 取模的結果。

假設最終都到達的饑餓值為 \(k\),設 \(dp_{i,j}\) 表示前 \(i-1\) 頭牛都達到了要求,第 \(i\) 頭牛的饑餓值為 \(j\) 的方案數。

那么因為需要讓 \(i\) 牛也變成 \(k\),可以列出轉移方程:

\[dp_{i,j}\rightarrow\forall j'\in[k,H_{i+1}-j+k]:dp_{i+1,j'} \]

上面的方程可以用前綴和優化實現 \(O(1)\) 轉移。

那么最終答案就是 \(dp_{n,k}\)

由于我們發現如果 \(n\) 是偶數,可以通過 \(\dfrac{n}{2}\) 次操作使所有饑餓值 \(-1\),所以如果 \(n\) 為偶數只用枚舉一個 \(k\) 即可。

[USACO22MAR] Pair Programming G

還是不會

P4778 Counting swaps

總結

以上是生活随笔為你收集整理的数数题(计数类 DP)做题记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。