题目链接:https://www.luogu.org/problemnew/show/P1474

题目描述

母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统。由于它们特殊的思考方式,它们对货币的数值感到好奇。

传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单位面值组成的。

母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。

举例来说, 使用一个货币系统 {1,2,5,10,...}产生 18单位面值的一些可能的方法是:18x1, 9x2, 8x2+2x1, 3x5+2+1,等等其它。 写一个程序来计算有多少种方法用给定的货币系统来构造一定数量的面值。保证总数将会适合long long (C/C++) 和 Int64 (Free Pascal),即在0 到2^63-1之间。

输入输出格式

输入格式:

货币系统中货币的种类数目是 V (1<=V<=25)。要构造的数量钱是 N (1<= N<=10,000)。

第一行: 二个整数,V 和 N 。

第二行: 可用的货币的面值 。

输出格式:

输出格式:

单独的一行包含那个可能的用这v种硬币凑足n单位货币的方案数。

输入输出样例

输入样例#1:

3 10
1 2 5
输出样例#1:

10
#include <bits/stdc++.h>
using namespace std;
#define maxn 400010
#define ll long long
ll p[maxn];
ll v, n, sum[maxn], f[maxn]; int main()
{
cin >> v >> n;
for (int i = ; i <= v; ++i) {
cin >> p[i]; //p[i]代表面值
}
f[] = ; //f[i]表示面值为i时方案数,0初始为1,因为唯一的方案就是不放钱
for (int i = ; i <= v; ++i) //枚举每种面值
for (int j = p[i]; j <= n; ++j) //这也是完全背包写法,可无限用
f[j] = f[j] + f[j - p[i]]; //相当于f[i][j]=f[i-1]f[j]+f[i-1][j-p[i]],为面对第i种面值的钞票,是不用还是用,f[i][j]为前i种面值的钞票花光j元的最大方法数
cout << f[n];
return ;
}

2018-05-16

洛谷 P1474 货币系统 Money Systems(经典)【完全背包】+【恰好装满的最大方案数量】的更多相关文章

  1. 洛谷P1474 货币系统 Money Systems

    P1474 货币系统 Money Systems 250通过 553提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 母牛们不但创 ...

  2. 洛谷 P1474 货币系统 Money Systems

    P1474 货币系统 Money Systems !! 不是noip2018的那道题. 简单的多重背包的变式. #include <iostream> #include <cstdi ...

  3. 洛谷 P1474 货币系统 Money Systems 题解

    P1474 货币系统 Money Systems 题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1 ...

  4. P1474 货币系统 Money Systems(完全背包)(大水题)

    题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...

  5. 洛谷P1474货币系统——背包方案计数

    题目:https://www.luogu.org/problemnew/show/P1474 完全背包,注意方案计数的方法. 代码如下: #include<iostream> #inclu ...

  6. P1474 货币系统 Money Systems(完全背包求填充方案数)

    题目链接:https://www.luogu.org/problemnew/show/1474 题目大意:有V种货币,求用V种货币凑出面值N有多少种方案. 解题思路:就是完全背包问题,只是将求最大价值 ...

  7. 洛谷 P5020 货币系统

    题目描述 在网友的国度中共有$ n $种不同面额的货币,第 i种货币的面额为 \(a[i]\),你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为\(n\).面额数组为 \(a[1..n]\ ...

  8. 【洛谷】P1474 货币系统 Money Systems(背包dp)

    题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...

  9. P1474 货币系统 Money Systems

    题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...

随机推荐

  1. linux下比较两个文本文件的不同——diff命令

    1>Diff命令的功能Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处.它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序. 2>语 ...

  2. JS的call方法的作用解释,简单易懂

    先看看关于call()的官方解释,“调用一个对象的一个方法,以另一个对象替换当前对象.”,看了这样的解释,或许让你更摸不着头脑了.看例子: var x = "我是全局变量"; // ...

  3. Modelsim SE 安装

    FPGA开发过程中,代码编写完成后,往往是需要通过第三方仿真工具去验证设计功能的正确性.本章介绍最常用的仿真工具--Modelsim SE的安装过程. 1.1.1.Modelsim SE安装 本节主要 ...

  4. ORB feature(O for orientation)

    参考链接:http://blog.csdn.net/yang843061497/article/details/38553765 绪论 假如我有2张美女图片,我想确认这2张图片中美女是否是同一个人.这 ...

  5. 算法导论 之 红黑树 - 删除[C语言]【转】

    转自:https://blog.csdn.net/qifengzou/article/details/17608863 作者:邹祁峰 邮箱:Qifeng.zou.job@hotmail.com 博客: ...

  6. 关于nginx报错/usr/share/nginx/html/jiankongshare" failed (2: No such file or directory)的问题解决

    nginx的location虚拟目录配置: monitor.conf server {       server_name   monitor.chinasoft.com;       server_ ...

  7. mac安装RabbitMQ

    1 下载 地址 http://www.rabbitmq.com/install-standalone-mac.html 2 rabbitmq的安装目录: /Users/ysyc1/rabbitmq_s ...

  8. Python-HTML CSS 练习

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. oracle 各个版本下载地址

    Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP http://downl ...

  10. hdu3530 双单调队列的维护

    单调队列有部分堆的功能,但其只能维护给定区间中比v大的值或者比v小的值,且其一般存储元素的下标. 思路:两个单调队列维护最大值与最小值的下标,如果区间的最大值最小值之差大于给定范围,则选择队首靠左的删 ...