CF1934B Yet Another Coin Problem 题解
CF1934B Yet Another Coin Problem 题解
题意
目前有 \(5\) 种硬币,面值分别为 \(1,3,6,10,15\)。给你一个数字 \(n\),求出可以凑出 \(n\) 的最少的硬币的数量。
思路
这道题,大多数的人大概会想到动态规划的方法。
但是,我们应该有敢于创新的精神。于是我就想到了一个简单的数学方法。
首先我们先不讨论面值等于 \(15\) 元的硬币。
考虑硬币的面值为 \(1\) 元、\(3\) 元、\(6\) 元、\(10\) 元、\(15\) 元的情况。
1:面值为 \(1\) 元的硬币的数量范围小于 \(3\)。
当使用大于等于 \(3\) 个 \(1\) 元硬币。
则可以用面值为 \(3\) 的硬币代替。
2:面值为 \(3\) 元的硬币的数量范围小于 \(2\)。
当使用大于等于 \(2\) 个 \(3\) 元硬币。
则可以用面值为 \(6\) 的硬币代替。
3:面值为 \(6\) 元的硬币的数量范围小于 \(4\)。
当使用大于等于 \(4\) 个 \(6\) 元硬币。
则可以用 \(2\) 个面值为 \(10\) 加 \(1\) 个面值为 \(3\) 加 \(1\) 个面值为 \(1\) 的硬币代替。
4:面值为 \(10\) 元的硬币的数量范围小于 \(3\)。
当使用大于等于 \(3\) 个 \(10\) 元硬币。
则可以用 \(2\) 个面值为 \(15\) 的硬币代替。
5:面值为 \(15\) 的硬币。
剩下的数目都有面值为 \(15\) 的硬币承担就好了。
时间复杂度
因为前面的数值都很少,所以时间复杂度也十分小。
代码
#include <bits/stdc++.h>
using namespace std;
int n,t,ans;
int main() {
cin>>t;
while(t--){
cin>>n;
ans=1000000000;
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)
for(int k=0;k<5;k++)
for(int m=0;m<3;m++){
int y=i*1+j*3+k*6+m*10;
if(y>n)continue;
if((n-y)%15==0){
ans=min(ans,i+j+k+m+(n-y)/15);
}
}
cout<<ans<<endl;
}
}
CF1934B Yet Another Coin Problem 题解的更多相关文章
- POJ2826:An Easy Problem?!——题解(配特殊情况图)
http://poj.org/problem?id=2826 题目大意:给两条线,让它接竖直下的雨,问其能装多少横截面积的雨. ———————————————————————————— 水题,看题目即 ...
- HDU 1016 Prime Ring Problem 题解
Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ... ...
- HDU 4143 A Simple Problem 题解
题目 For a given positive integer n, please find the saallest positive integer x that we can find an i ...
- UVA101 The Blocks Problem 题解
题目链接:https://www.luogu.org/problemnew/show/UVA101 这题码量稍有点大... 分析: 这道题模拟即可.因为考虑到所有的操作vector可最快捷的实现,所以 ...
- [CF-GYM]Abu Tahun Mod problem题解
前言 这道题比较简单,但我还是想了好一会 题意简述 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组\(\left\{1\right\},\left ...
- [NOIP模拟测试9]题(Problem) 题解 (组合数全家桶+dp)
达哥送分给我我都不要,感觉自己挺牛批. $type=0:$ 跟visit那题类似,枚举横向移动的步数直接推公式: $ans=\sum C_n^i \times C_i^{\frac{i}{2}} \t ...
- ZOJ 4082 Little Sub and his Geometry Problem题解
题意 f(u,v):x小于等于u且y小于等于v的点才对f有贡献,每个这样的点贡献(u-x)+() 思路 =f(u_2,v_2)" class="mathcode" src ...
- CF1324B Yet Another Palindrome Problem 题解
原题链接 CF 127个测试点,好评 简要题意: 多组数据,问数组中是否有长度 \(\geq 3\) 的回文子序列. 我们需要找到本质. 题目不让我们求这个长度,只让我们判断,这是为什么呢? 如果答案 ...
- CF1324A Yet Another Tetris Problem 题解
原题链接 简要题意: 再简要一波: 每次可以把一个数增加 \(2\),问最后能不能让所有数相等.(也就是抵消掉) 什么?题意变成这样子还做个啥? 你会发现,必须所有数的奇偶性都相同,才可以:反之就不可 ...
- CF749A Bachgold Problem 题解
Content 给定一个数 \(n\),求它最多能够拆分成多少个质数,并输出拆分成的每一个质数. 数据范围:\(2\leqslant n\leqslant 10^5\). Solution 我们考虑尽 ...
随机推荐
- vue-cli3 项目路由 history 模式部署到 nginx 服务器
1.项目修改vue.config.js增加 publicPath: '/' 2.nginx配置 location / {#访问前端页面 root /data/dist;#vue项目存放路径 index ...
- WNS 后台Push服务调试脚本
一.API说明 https://cloud.tencent.com/document/product/276/3212 二.推送脚本 #!/usr/local/bin/python3 # -*- ...
- 7.14考试总结(NOIP模拟15)[夜莺与玫瑰·影子·玫瑰花精]
梦总是有会醒来的时候,不会醒的梦总有一天会变成悲伤. 前言 这次考试的思维含量有一点大(此时距离考试还有 7min 而我的总结还没写完..) 但是对于以前的考试来讲还是有所进步的,毕竟在考试的时候还是 ...
- 如何使用Node.js、TypeScript和Express实现RESTful API服务
Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Express是一个保持最小规模的灵 ...
- FastJson转Java对像字段不区分大小写
昨天遇到参数key大小写不一致导致校验签名失败的问题,查了很长时间才找到原因.看了一下FastJson源码,发现JSON.toObject中转换成对象的时候会忽略大小写. 所以,当使用了JSON.to ...
- java 中 pop 和 peek 方法区别
相同点:都返回栈顶的值. 不同点:peek 不改变栈的值(不删除栈顶的值),pop会把栈顶的值删除. 下面通过代码展现 /* * 文 件 名: TestPeekAndPopDiff.java */ i ...
- 23201826-熊锋-第二次blog
一.前言 这三次pta作业第一次为答题判断程序-4,这是答题判断程序的第三次迭代,相较于答题判断三,新增了各种题型及其不同种类的答案,并且出现多选题,使得这次题目相当棘手,具有很大的挑战性.第二次为家 ...
- 蓝屏rtux64w10.sys
蓝屏rtux64w10.sys 环境: WIN10 + Realtek USB RTL8156B 2.5G网卡 表现: 局域网复制时,间隔性速度变为0,多次后,最终蓝屏. 解决方法: 更新驱动. 地 ...
- JavaScript防抖与节流笔记
JavaScript防抖与节流 概念 防抖(debounce)与节流(throttle)是两个相似但有本质区别的两个概念,但两个概念的存在都是为了控制在特定条件下函数最大的执行次数.这在例如将函数执行 ...
- Spring扩展——BeanFactory和FactoryBean
BeanFactory和FactoryBean BeanFactory和FactoryBean长得很相似,也很容易让我们产生误解,特别是对于初学者而言,搞懂他俩关系非常有必要,因为这两个接口,是Spr ...