对于 我这样的弱者就需要一道一道 简单的题 来慢慢补了。

看懂 题意很重要:

又一次被自己的英语吓哭了,做了两天发现题目看错,结果样例都对了,

硬是过不了;

给 n,m,b,mod;

在给n 个数 a[i],每个代码猴子,写1行代码会产生的bugs

有 v[1]+v[2]+v[3]+.....+v[n] N 只代码猴子写的行数要等于m

求有多少中方案,结果% MOD;

(总之,我的描述 估计只有自己看懂了

解析:三维,DP[I][J][K] 代表:做到第i人,产生k个bug 并且写了 j行,

转移一下就好了

dp[i][j][k]=dp[i-1][j][k];

dp[i][j][k]+=dp[i-1][j-1][k-a[i]];k>=a[i];

dp[i][j][k]%=mod;

然后:三维500500500存不下,滚动数组

//

include

include

include

include <string.h>

include

include

include

include

include

define N 123456

define inf 0x3f3f3f

using namespace std;

typedef long long ll;

int n,m,b,mod;

int a[555];

ll dp[2][505][505];

int main()

{

cin>>n>>m>>b>>mod;

for (int i=1;i<=n;i++) scanf("%d",&a[i]);

dp[0][0][0]=1;

int it=0;
for (int i=1;i<=n;i++)
{
it^=1;
for (int j=0;j<=m;j++)
for (int k=0;k<=b;k++){
dp[it][j][k]=dp[it^1][j][k];
if (j>0&&k>=a[i]) dp[it][j][k]=(dp[it][j][k]+dp[it][j-1][k-a[i]])%mod;
}
}
ll ans=0;
for (int i=0;i<=b;i++) ans=(ans+dp[it][m][i])%mod;
cout<<ans;
return 0;

}

codeforces #302Div1 A的更多相关文章

  1. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  2. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  3. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  4. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  5. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  6. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  7. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  8. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  9. CodeForces - 148D Bag of mice

    http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...

随机推荐

  1. IOS中经典的缓存对比

    http://bpoplauschi.wordpress.com/2014/03/21/ios-image-caching-sdwebimage-vs-fastimage/

  2. saltstack 源码安装

    面向对象编程(oop) 面向对象: 面向对象三大特性: 封装 继承 多肽封装: 封装就是将具体的客观事物封装成抽象的类.并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可行的进行信息隐藏继承 ...

  3. Linux-RedHat7.2 使用CentOS源

    -- 查看yum rpm -qa |grep yum --卸载yum rpm -qa | grep yum | xargs rpm -e --nodeps --拷贝centos系统yum工具安装程序到 ...

  4. tomcat 虚拟目录配置

    1.虚拟目录优点 原始 拷贝到webapps下,然后启动tomcat,就可以访问webapps下的项目.eclipse配置tomcat的原理也是这种方式. 虚拟目录 定位到eclipse工作目录下,实 ...

  5. Object.assign(o1, o2, o3) 对象 复制 合拼

    Object 对象方法学习之(1)—— 使用 Object.assign 复制对象.合并对象 合并对象 var o1 = {a: 1}; var o2 = {b: 2}; var o3 = {c: 3 ...

  6. 背包DP || Codeforces 544C Writing Code

    程序员写bug的故事23333 题意:n个程序员,一共写m行程序,最多产生b个bug,问方案数 思路:f[i][j]表示写了i行,产生了j个bug的方案数,因为每个人都是可以独立的,所以i循环到n都做 ...

  7. Visual Odometry

    http://www.cvlibs.net/datasets/kitti/eval_odometry.php

  8. RN传参的问题

    RN父组件通过props属性给子组件传参,假设参数 target={target} 子组件在render函数里 let { target } = this.props; 如果子组件有个 FlatLis ...

  9. 提高CPU使用率

    某些特殊时候,需要提升下cpu的利用率,此时……………………需要一个极其简单的脚本来完成! #!/bin/bash while (true);do { for i in $(seq 100000 10 ...

  10. babel实践

    现在的主流浏览器还没有完全兼容ES6的语法,如ie11就不支持箭头函数. 使用过es6的人都知道,es6更加简洁和强大,可是使用es6写出来的代码并不能得到所有主流js引擎的支持,针对这一点,一个解决 ...