【HDU1284 中南林业大学第十一届校赛 B:】兑换零钱(dp)
中南林业大学校赛B题目地址:https://ac.nowcoder.com/acm/contest/910/B
HDU1284:http://acm.hdu.edu.cn/showproblem.php?pid=1284
题目描述(以中南林业大学校赛B为例)
现有N元钱,兑换成小额的零钱,有多少种换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。
(由于结果可能会很大,输出Mod 10^9 + 7的结果)
输入描述:
第一行输入一个整数T,代表有T组数据接下来T行,每行输入1个数N,N = 100表示1元钱。(1 <= N <= 100000)
输出描述:
输出Mod 10^9 + 7的结果
示例1
输入
2
5
4
输出
4
3
备注:
5分钱兑换为零钱,有以下4种换法:
1、5个1分
2、1个2分3个1分
3、2个2分1个1分
4、1个5分
解题思路:
dp[i]表示i分钱有多少张兑换方案
先打表:
对于i,它包括两种方法:之前已经统计了的方法数dp[i],和dp[i-a[i]]其中a[i]是所有币值,不断更新这个dp[i],代码如下
ac代码:
#include <iostream>
#include <algorithm>
#include <string.h>
#include <ctype.h>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <fstream>
#define maxn 100005
#define lowbit(x) (x&(-x))
typedef long long ll;
const ll mod=1e9+7;
using namespace std;
ll dp[maxn];
ll a[14]={1,2,5,10,20,50,100,200,500,1000,2000,5000,10000};
int main()
{dp[0]=1;for(ll i=0;i<13;i++){for(ll j=a[i];j<=100000;j++){dp[j]=(dp[j]+dp[j-a[i]])%mod;}}ll t,x;cin>>t;while(t--){cin>>x;cout<<dp[x]<<endl;}return 0;
}
【HDU1284 中南林业大学第十一届校赛 B:】兑换零钱(dp)相关推荐
- 糖葫芦(齐大第十一届校赛)
题目描述 koala 得到了一串由 n个山楂构成的冰糖葫芦,但是他只想要一串由奇数个山楂构成的冰糖葫芦.所以他决定拆分这个冰糖葫芦.但是众所周知,冰糖葫芦被拆分之后不同部分是无法再次拼接的(也就是说必 ...
- Little Sub and Piggybank (杭师大第十二届校赛G题) DP
题目传送门 题意:每天能往存钱罐加任意实数的钱,每天不能多于起那一天放的钱数.如果某一天的钱数恰好等于那天的特价商品,则可以买,求最后的最大快乐值. 思路:先来一段来自出题人的题解: 显然的贪心:如果 ...
- [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ 1112 I Love Apple Description So many people love app ...
- 2017校赛 问题 F: 懒人得多动脑
题目描述 小D的家A和学校B都恰好在以点F为焦点的双曲线上,而小D每日所需的生活水源在一条平行该双曲线准线的直线上,设它的值为v.大家都知道,每天都是要喝水的,但是小D有点懒,他希望自己能在去上学或者 ...
- 关于安徽赛区推广校赛的实施办法
关于安徽赛区 推广校赛的实施办法 全国组委会: 安徽赛区作为第一个省级赛区自2010年举办至今,受到安徽省教育厅和安徽各高校高度认可,是安徽省教育厅重点支持的大学生学科和技能竞赛A类赛事.但安徽赛 ...
- 第18届浙江大学校赛 Mergeable Stack
The 18th Zhejiang University Programming Contest Sponsored by TuSimple 第18届浙江大学校赛的c题 解析:起先是用stack写的模 ...
- 21-5-22校赛J 下围棋
21-5-22校赛J 下围棋 给出一个节点个数为n的树,其根节点为1,两个人轮流操作,每一次操作可以选择一个非根节点,删除这个节点及其子树,当一个人无法进行操作的时候,他就输掉了.问后手是必胜还是必败 ...
- 21-5-22校赛G 自行车调度
21-5-22校赛G 自行车调度 n个点,m条边的无向带正权图(编号1到n).每个点初始有a[i](0<=a[i]<=1e5,1<=i<=n)辆自行车,自行车管理员可以花费一个 ...
- 2018 java蓝桥杯校赛题目
1.[问题描述] 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一 ...
- BZOJ 3093: [Fdu校赛2012] A Famous Game
3093: [Fdu校赛2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MB Submit: 248 Solved: 133 [Su ...
最新文章
- java中Arrays的用法
- hbase 研究 :LoadIncrementalHFiles/HFileOutputFormat2 cannot be resolved
- iOS集成sharesdk遇到的坑
- html单张图片效果,jquery+html5实现单张图片上传预览
- golang 修改nginx配置文件_「系统架构」Nginx调优,不可错过的几点
- php 替换某个字符,php中如何替换字符串中的某个字符-PHP问题
- linux单用户模式single=1,Linux 单用户模式single mode
- html语言空格怎么写,html的空格代码怎么写?
- 深入浅出的mysql第三版和第二版的区别_深入浅出mysql和高性能mysql哪本好
- JavaScript是什么意思?
- Websphere8.5.5安装教程
- 计算机系微电子专业大学排名,微电子专业大学排名情况一览表
- Java 通过SMTP实现发送QQ邮件
- codeforces 834-A. The Useless Toy
- window系统如何禁止运行指定程序
- RFM分析模型——用户生命周期解析
- python字典一键多值如何遍历_[宜配屋]听图阁
- 【Linux系列】安装配置Nginx
- oracle转成整型_Oracle中如何用SQL把字符串转换成整型 ?
- ecg 幅度_ECG信号
热门文章
- Linux管理用户组的安装
- 小程序 ---- (setData关于赋值对象属性的问题)
- C语言程序书写中 每行必须有分号,石家庄铁道大学C语言程序设计习题集.pdf
- linux第五单元作业,第五单元《微型计算机系统》教案
- 单片机r6/r7c语言怎么用,第5章MCU混合编程与C语言和汇编语言
- oracle查询functions名字,oracle 怎样查看已经存在的函数,过程?
- python远程文件管理系统_如何在Windows上使用Python访问远程文件系统?
- DOM之节点操作总结(附实例、图解)
- try-catch(C# 参考)
- 亮风台AR眼镜震撼发布 HiAR 产品全面升级