【链接】 我是链接,点我呀:)
【题意】

在这里输入题意

【题解】

二维费用背包。
f[i][j][k]
前i个人,写了j行,bug不超过k的方案数。
可以把每个人看成是一个物品。
它可以无限拿。然后花费为 1行代码和a[i]个bug
(拿几个第i个人就相当于v[i]等于几.
就变成一个二维的完全背包了
直接用二维费用背包的方案数求法求得就好
两维的写法比三维的写法简单。。直接顺序更新就可以了
(顺序更新)

【代码】

#include <bits/stdc++.h>
using namespace std;const int N = 500;int n,m,b,mod;int f[N+10][N+10],a[N+10];int main(){#ifdef LOCAL_DEFINEfreopen("rush_in.txt", "r", stdin);#endifcin >> n >> m >> b >> mod;for (int i = 1;i <= n;i++) cin >> a[i];f[0][0] = 1;for (int i = 1;i <= n;i++)for (int j = 1;j <= m;j++)for (int k = a[i];k <= b;k++)f[j][k] = (f[j][k]+f[j-1][k-a[i]])%mod;int ans = 0;for (int i = 0;i <= b;i++) ans =(ans + f[m][i])%mod;cout<<ans<<endl;return 0;
}

【附:三维写法】

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define maxn 505
using namespace std;
int dp[2][maxn][maxn];
int ai[maxn];
int main()
{int n,m,b,mod;while(scanf("%d%d%d%d",&n,&m,&b,&mod) == 4){memset(dp,0,sizeof(dp));for(int i = 0;i <= 1;++i)for(int j = 0;j <= b;++j)dp[i][0][j] = 1;for(int i = 1;i <= n;++i)scanf("%d",&ai[i]);for(int i = 1;i <= n;++i)for(int j = 1;j <= m;++j)for(int k = 0;k <= b;++k){dp[i & 1][j][k] = dp[(i - 1) & 1][j][k] % mod;if(k - ai[i] >= 0) dp[i & 1][j][k] = (dp[i & 1][j][k] + dp[i & 1][j - 1][k - ai[i]]) % mod;}printf("%d\n",dp[n & 1][m][b] % mod);}return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/9309411.html

【【henuacm2016级暑期训练】动态规划专题 D】Writing Code相关推荐

  1. YTU2018级每周训练-动态规划1

    世上只有一种英雄主义,就是在认清生活真相之后依然热爱生活. 大家有空去我的网站逛逛呀!   http://www.mxnzqh.cn/ A - Max Sum Plus Plus Now I thin ...

  2. HRBU 2021年暑期训练阶段二Day3

    目录 A - Shuffle'm Up 题目链接: 题意: 做法: B - Prime Path 题目链接: 题意: 做法: C - Function Run Fun 题目链接: 题意: 做法: D ...

  3. 深入探究递归神经网络:大牛级的训练和优化如何修成?

     深入探究递归神经网络:大牛级的训练和优化如何修成? 摘要:不同于传统FNN,RNN无需在层面之间构建,同时引入定向循环,能够更好地处理高维度信息的整体逻辑顺序.本文中,MIT的Nikhil Bu ...

  4. Potato的暑期训练day#1题解 ——毒瘤构造

    Potato的暑期训练day#1 --毒瘤构造 题目链接: A.https://vjudge.net/problem/HDU-1214 B.https://vjudge.net/problem/Cod ...

  5. 暑期训练日志----2018.8.26

    训练第28天. 暑期训练最后一天,结束了... 看了看昨天下午网络赛的题,感觉自己也就能出一个...还是学的太少,新学期开始要加油,每天至少2个小时搞ACM 这个暑假收获很多,跟队友的配合比之前更有默 ...

  6. 暑期训练日志----2018.8.3

    训练第五天. 效率比昨天快了不少,但还是所有人中进度最慢的. 成功将排列与组合.以及延迟认可算法搞清楚了,而且之前欠的卡特兰数列和第一类.第二类斯特林数也补上了,组合数学的内容之差母函数.莫比乌斯反演 ...

  7. 训练dnn_[预训练语言模型专题] MT-DNN(KD) : 预训练、多任务、知识蒸馏的结合

    本文为预训练语言模型专题系列第八篇 快速传送门 1-4:[萌芽时代].[风起云涌].[文本分类通用技巧].[GPT家族] 5-7:[BERT来临].[浅析BERT代码].[ERNIE合集] 感谢清华大 ...

  8. 训练dnn_[预训练语言模型专题] MTDNN(KD) : 预训练、多任务、知识蒸馏的结合

    本文为预训练语言模型专题系列第八篇 快速传送门  1-4:[萌芽时代].[风起云涌].[文本分类通用技巧] . [GPT家族]5-7:[BERT来临].[浅析BERT代码].[ERNIE合集]感谢清华 ...

  9. 20200707:动态规划专题之不同路径

    动态规划复习day01 动态规划的题目一直是本人的弱项,这周尝试连续7天的动态规划专题,争取做到有的放矢. 不同路径Ⅰ和Ⅱ解析 题目一:不同路径 解题思路 依据动态规划解题的套路思路 确定状态和选择, ...

  10. [预训练语言模型专题] MT-DNN(KD) : 预训练、多任务、知识蒸馏的结合

    本文为预训练语言模型专题系列第八篇 快速传送门   1-4:[萌芽时代].[风起云涌].[文本分类通用技巧] . [GPT家族] 5-7:[BERT来临].[浅析BERT代码].[ERNIE合集] 感 ...

最新文章

  1. python三大神器_Python之旅:Python上古三大神器之一PIP①
  2. 机器学习入门需要多久
  3. Win32汇编最简ComboBox Demo
  4. Apache Kafka简介
  5. 【编译原理】为什么编程语言中,标识符不能以数字开头?
  6. (四)nodejs循序渐进-函数,类和对象(基础篇)
  7. illegal utf8 encoding at (190)
  8. Spring Data JPA 必须掌握的 20+ 个查询关键字
  9. 怎么解决vs2017一把鼠标放在Mat类上就卡死的问题
  10. linux下查看CPU、内存、硬盘方法
  11. The requested PHP extension ext-redis * is missing from your system. Install or enable PHP's redis e
  12. 测试技术-易用性测试
  13. 对路径“C:\Program Files (x86)\gwssi\CPC客户端\CheckWord.xml”的访问被拒绝。
  14. Stellarium(虚拟天文馆)
  15. ks系列服务器,Kimsufi KS4C服务器简单测试
  16. cad旋转命令_如何将CAD图形旋转至水平位置?
  17. 简单的Python五子棋
  18. 直流电机控制 pwm 和 pid 算法
  19. C#版二维坐标点按行排序
  20. 领英手册-领英精灵批量加好友方法分享

热门文章

  1. “移”网打尽:网络即服务
  2. python显示多个图表
  3. Extjs ComboBox常用的配置
  4. 玩转VIM编辑器-vim的命令行
  5. java除,小数的问题
  6. xmlhttp上传文件(转贴)
  7. [征求意见]关于收录精华区文章的标准
  8. Hive2.0中HiveServer2的WEB UI界面
  9. 快手二面:@Component,@Service等注解是如何被解析的?
  10. 新的一年,和大家一起进步