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 我们考虑尽 ...
随机推荐
- redis安装和基础使用
redis安装 mkdir /server/tools -p cd /server/tools echo 'PATH=/usr/local/redis/src:$PATH' >>/etc/ ...
- 8.17考试总结(NOIP模拟42)[卷·简单题·粉丝·字符串]
你的败因只有一个,就是与我为敌. T1 卷 解题思路 乍一看,简单的树形 DP . 后来一看数据范围,发现事实并非如此.(\((10^9)^{2\times 10^5}\)????) 毕竟取 \( ...
- 很多人讲不明白HTTPS,但是我能
很多人讲不明白HTTPS,但是我能 今天我们用问答的形式,来彻底弄明白HTTPS的过程 下面的问题都是 小明和小丽两个人通信为例 可以把小明想象成服务端,小丽想象成客户端 1. https是做什么用的 ...
- k8s——集群环境问题合集
创建集群 k8s集群创建 集群环境问题合集 重置master节点 kubeadm reset -f # -f 强制重置 可选 重置node节点 # 当你的master节点重置后,node节点需要重新加 ...
- php分页查询 子查询
分页查询 将查询结果只显示一部分 通过两个参数:参数1 起始数据的索引下标 参 ...
- Linux扩展篇-shell编程(三)-shell运算符
基本语法: 格式一 expr +. -. \*./. %(加.减.乘.除.求余) 格式二 "$((运算式))"或者"$[运算式]" 基本运算符 Shell 和其 ...
- 喜讯!INFINI Easysearch 在墨天轮搜索型数据库排名中荣登榜首
近日,2023 年 9 月的 墨天轮中国数据库流行度排行 火热出炉,本月共有 287 个数据库参与排名,中国数据库行业竞争日益激烈.其中,极限科技旗下软件产品 INFINI Easysearch 在 ...
- Easysearch 跨集群复制实战
在之前的文章中,有通过网关实现容灾的案例.今天给大家介绍 Easysearch 的跨集群复制功能.该功能可在集群之间复制数据,应用场景包括但不限于以下举例: 灾备同步:将数据同步到灾备中心,灾备中心可 ...
- STM32 + RT-Thread + LVGL
一.基本信息 MCU:STM32F103ZET6 RT-Thread:5.0.2 LVGL:8.3.11 LCD:ST7735s 编译环境:RTThread studio 二.LVGL 移植要求 16 ...
- 快速识别你家的猫猫狗狗,教你用ModelBox开发AI萌宠应用
本文分享自华为云社区<ModelBox-AI应用开发:动物目标检测[玩转华为云]>,作者:阳光大猫. 一.准备环境 ModelBox端云协同AI开发套件(Windows)环境准备[视频教程 ...