国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敖汉旗| 中山市| 衡阳市| 铜鼓县| 石屏县| 贞丰县| 栾川县| 南和县| 亚东县| 阿鲁科尔沁旗| 文登市| 旺苍县| 嘉黎县| 聂荣县| 胶南市| 尉氏县| 阿合奇县| 太保市| 桐柏县| 衢州市| 兴业县| 沿河| 珲春市| 武威市| 通辽市| 稷山县| 即墨市| 萝北县| 上高县| 宝清县| 江城| 贺兰县| 南华县| 嘉荫县| 双鸭山市| 清苑县| 屯门区| 大宁县| 固阳县| 民乐县| 民县|