zoukankan      html  css  js  c++  java
  • codeforce543A_完全背包+滚动数组

    题目链接:http://codeforces.com/contest/543/problem/A

    题意:有n个程序员,m行代码,最多bug数为b

    让这n个程序员完成这项任务,问有多少种分配方法,得到的答案取模mod

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <iostream>
     4 #include <algorithm>
     5 #define LL long long
     6 using namespace std;
     7 
     8 const int N = 502;
     9 int bug[N], dp[2][N][N];
    10 int main()
    11 {
    12     int n, m, b;
    13     LL mod;
    14     while(~scanf("%d%d%d%I64d", &n, &m, &b, &mod))
    15     {
    16         LL res = 0;
    17         memset(dp, 0, sizeof(dp));
    18         for(int i = 0; i <= n; i++)
    19             dp[i % 2][0][0] = 1;
    20         for(int i = 1; i <= n; i++)
    21             scanf("%d", bug + i);
    22         for(int i = 1; i <= n; i++)//前i个人
    23         {
    24             for(int j = 1; j <= m; j++)//前i个人写j行代码
    25             {
    26                 for(int k = 0; k <= b; k++)//前i个人写j行代码出k个bug时的分配方法个数
    27                 {
    28                     if(k < bug[i]) 
    29                         dp[i % 2][j][k] = dp[(i - 1) % 2][j][k] % mod;
    30                     else
    31                         dp[i % 2][j][k] = (dp[(i - 1) % 2][j][k] + dp[i % 2][j - 1][k - bug[i]]) % mod;
    32                 }
    33             }
    34         }
    35         for(int i = 0; i <= b; i++)
    36             res = (res + dp[n % 2][m][i]) % mod;
    37         printf("%I64d
    ", res);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    示例 json with js
    JS json
    jquery
    发布包规范
    20180320待编辑
    CefSharp中c#和js交互
    列举mvc ActionResult的返回值
    怎么实现第三方登录
    mvc @Html控件
    MVC webuploader 图片
  • 原文地址:https://www.cnblogs.com/luomi/p/5543181.html
Copyright © 2011-2022 走看看