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 我们考虑尽 ...
随机推荐
- Flask源码阅读
上下文篇 整个Flask生命周期中都依赖LocalStack()栈?.而LocalStack()分为请求上下文_request_ctx_stack和应用上下文_app_ctx_stack. _requ ...
- WPF实现轮播图
1.效果图 2.前端代码 <Window x:Class="LiveChartDemo.View.CarouselView" xmlns="http://schem ...
- Asp-Net-Core学习笔记:身份认证入门 _
前言 过年前我又来更新了~ 我就说了最近不是在偷懒吧,其实这段时间还是有积累一些东西的,不过还没去整理-- 所以只能发以前没写完的一些笔记出来 就当做是温习一下啦 PS:之前说的红包封面我还没搞,得抓 ...
- nginx日志缓存open_log_file_cache
nginx日志缓存,提升磁盘性能 将多个日志进行积累,达到一定量级后写入到磁盘,可以减少磁盘旋转,从而降低磁盘i/o,提升nginx能效 语法: access_log path access_log ...
- SwiftUI Stack中的View被压缩的效果
一.背景 我们在布局中,经常会遇到视图元素排列时空间不足或者空间过大的情况,在这种场景下面,不同的布局方式有不同的方法: 绝对布局frame:纯靠计算过程控制,获取父视图的大小,根据需求,计算自己需要 ...
- GCD Timer事件的精度
一.测试环境 iPhoneX 真机+Debug模式,Timer代码工作在主线程,主线程空闲不阻塞 在子线程统计每3秒tick计数,逐步减小inteval,看能达到多大精度. 忽略原子计数值操作的影响 ...
- js随机数 比较运算符
// 生成一个随机数 1 - 100 范围内的随机数 // 大家先记住 JavaScript 生成随机数值的 公式 // 如果要 生成 a - b 范围内的数值 ...
- LeetCode 699. Falling Squares 掉落的方块 (Java)
题目: On an infinite number line (x-axis), we drop given squares in the order they are given. The i-th ...
- fontawesome-webfont.woff:1 Failed to load resource: the server responded with a status of 404 ()
fontawesome-webfont.woff2:1 Failed to load resource: the server responded with a status of 404 ()fon ...
- Javascript高级程序设计第二章 | ch2 | 阅读笔记
HTML中的Javascript <script>元素 值得注意的几个关键字: async:立即开始下载脚本,仅对外部脚本有效.给脚本添加 async 属性的目的是告诉浏览器,不必等脚本下 ...