描述

某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷、衣物、食品和血浆等物资。可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁。国家立即启动应急预案,展开史上最大强度非作战空运行动,准备向灾区空投急需物资。

一方有难,八方支援。现在已知有N个地方分别有A1,A2,….,An个物资可供调配。目前灾区需要物资数量为M。

现在,请你帮忙算一算,总共有多少种物质调度方案。

假设某地方一旦被选择调配,则其物资数全部运走。

输入
输入一个组数T。(0<T<10)
之后为N,M含义分别如题目描述。(0<N<=100,0<M<=1000)
之后有N个数字A1,A2,….,An表示N个地方每个地方的物资数。(0<Ai<=1000)
输出
对于每组测试数据,输出一行:物资调度的总方案数
样例输入
24 41 1 2 24 61 1 2 2
样例输出
31

状态转移方程:Dp[j]+=dp[j-A[i]]:j为物资的个数。

解释:当运送A[i]时,运送j个物资的方案数=不运送A[i]的方案数+原来运送j个物资的方案数

(其实不运送A[i]的方案数就是这次运送A[i]的方案数)

行表示A[i]

列表示0-m个物资

M=4,A[]={1,1,2,2}

0

1

2

3

4

1

1

1

0

0

0

1

1

2

1

0

0

2

1

2

2

2

1

2

1

2

3

4

3

M=6,A[]={1,1,2,2}

0

1

2

3

4

5

6

1

1

1

0

0

0

0

0

1

1

2

1

0

0

0

0

2

1

2

2

2

1

0

0

2

1

2

3

4

3

2

1

#include<bits/stdc++.h>
using namespace std;
int main()
{int num;scanf("%d",&num);while(num--){int n,m;scanf("%d%d",&n,&m);int a[105],dp[1005];memset(dp,0,sizeof(dp));//初始化所有物资数量种数都为0dp[0]=1;//初始化化for(int i=0;i<n;i++)scanf("%d",&a[i]);for(int i=0;i<n;i++)//0-1背包for(int j=m;j>=a[i];j--){if(dp[j-a[i]]>=1)//如果没放a[i]时能组成m的种数大于等于1dp[j]=dp[j-a[i]]+dp[j];//放a[i]的方案数+不放a[i]的方案数elsedp[j]=dp[j];}printf("%d\n",dp[m]);}
}

物资调度(动态规划)相关推荐

  1. 河南省ACM程序设计 物资调度

    物资调度 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁.国家立即启动应急预案,展开史上最大强度非作战空 ...

  2. HNACM(七)A.物资调度

    Description 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁.国家立即启动应急预案,展开史上最 ...

  3. nyoj1249 物资调度(dp)

    物资调度 时间限制: 1000 ms  |  内存限制: 65535 KB 难度:2 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方, ...

  4. nyoj 1249 物资调度(DP)

    物资调度 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁.国家立即启动应急预案,展开史上最大强度非 ...

  5. NYOJ 1249 物资调度(DFS+剪枝)

    题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=1249 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物 ...

  6. 第七届河南省程序设计大赛——B 物资调度

    B 物资调度 题目描述: 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁.国家立即启动应急预案,展开史上 ...

  7. NYOJ_1294_物资调度【搜索】

    /* \物资调度 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌 ...

  8. 物资调度(01背包+求方案数)

    物资调度 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷.衣物.食品和血浆等物资.可通往灾区的道路到处都是塌方,70 ...

  9. zzuoj 10401: A.物资调度

    10401: A.物资调度 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 19  Solved: 10 [ Submit][ Status][ Web ...

最新文章

  1. cpa机考可以用计算机吗,cpa机考计算器使用方法
  2. ubuntu 14.04 LTS 右键菜单解压压缩包时出错
  3. 只想安安静静的做个程序员
  4. java irowset行数,Java CloneableRecord.put方法代码示例
  5. 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练
  6. 神经网络为什么需要随机初始化模型参数
  7. WCF学习笔记(一):WCF Service Application和WCF Service Library的区别
  8. 功能丰富的Perl:用Perl读写Excel文件
  9. p标签里文字不换行,以省略号结束
  10. JSP内置对象实例实训报告
  11. EasyDarwin开源流媒体云平台支持EasyCamera摄像机、EasyCamera手机直播监控、EasyNVR等多终端接入
  12. 微信小程序统计图表插件wxcharts的使用汇总
  13. 今日分享:几个好用的文字转语音软件,来看看吧
  14. 【操作系统】30天自制操作系统--(26)LDT与库
  15. 安装谷歌服务框架2022最新版本22.45.15失败
  16. 如何画五子棋棋盘c语言easyx,大佬们,用c++怎么画五子棋棋盘呢?
  17. 06-01 DeepLearning-图像识别
  18. 51单片机-WIFI模块
  19. 最长回文子串(Java实现)
  20. CAS client 登录认证 报不允许使用CAS来认证您访问的目标应用。

热门文章

  1. kali监听不到附近WiFi
  2. React 绑定事件为什么会丢失this? 和如何解决绑定事件this指向问题
  3. 零基础Linux版MySQL源码方式安装+配置+远程连接完整图解 无坑实录
  4. hacker.pcapng解析
  5. UE4 4.24像素流送实践 pixel streaming
  6. 新功能!苹果将​​使戴着口罩的iPhone解锁更加轻松
  7. 酷贝网:站在淘宝肩上收钱
  8. 红光光浴体验前的注意事项,你知道吗?#大健康#红光光浴#红光#种光光学
  9. 零售周报 | 苏宁易购收购万达百货;可口可乐今年增长放缓;京东27亿收购北京翠宫饭店...
  10. linux获取当前系统时间和修改时间