国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

cf#302 C. Writing Code dp

2019-11-08 02:00:36
字體:
來源:轉載
供稿:網友

點擊打開鏈接

題意:有n個程序員,第i個程序員每行會有ai個bug,然后讓你按著順序安排程序員,問你有多少種安排方法,可以使得寫m行的bug最多b個

思路:

dp[i][j]表示寫i行bug數有j個的方法數

轉移方程和背包問題類似 

最后掃一遍統計一下就好

代碼:

#include <bits/stdc++.h>using namespace std;const int maxn = 500+10;int a[maxn],dp[maxn][maxn];int main(){    int n,m,b,mod;    cin >> n >> m >> b >> mod;    for(int i=1; i<=n; i++)        cin >> a[i];    dp[0][0] = 1;    for(int k=1; k<=n; k++)        for(int i=1; i<=m; i++)            for(int j=a[k]; j<=b; j++)                dp[i][j] = (dp[i][j] + dp[i-1][j-a[k]]) % mod;    long long ans = 0;    for(int i=0; i<=b; i++)        ans = (ans+dp[m][i])%mod;    cout << ans << endl;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江山市| 隆安县| 罗甸县| 陆河县| 安仁县| 永新县| 宁武县| 昂仁县| 梅河口市| 卢湾区| 永州市| 剑阁县| 新乡市| 翁牛特旗| 漳平市| 绍兴市| 肇源县| 普安县| 岱山县| 闻喜县| 崇仁县| 太康县| 读书| 芒康县| 汉寿县| 绥阳县| 海原县| 达日县| 攀枝花市| 襄城县| 湘西| 涞水县| 图们市| 昂仁县| 元氏县| 原平市| 台北市| 都江堰市| 宁津县| 图们市| 文安县|