python最少钞票_钞票最少张数
1. 从一个生活问题谈起
先来看看生活中经常遇到的事吧——假设您是个土豪,身上带了足够的1、5、10、20、50、100元面值的钞票。现在您的目标是凑出某个金额w,需要用到尽量少的钞票。
依据生活经验,我们显然可以采取这样的策略:能用100的就尽量用100的,否则尽量用50的……依次类推。在这种策略下,666=6×100+1×50+1×10+1×5+1×1,共使用了10张钞票。
这种策略称为“贪心”:假设我们面对的局面是“需要凑出w”,贪心策略会尽快让w变得更小。能让w少100就尽量让它少100,这样我们接下来面对的局面就是凑出w-100。长期的生活经验表明,贪心策略是正确的。
但是,如果我们换一组钞票的面值,贪心策略就也许不成立了。如果一个奇葩国家的钞票面额分别是1、5、11,那么我们在凑出15的时候,贪心策略会出错:
15=1×11+4×1 (贪心策略使用了5张钞票)
15=3×5 (正确的策略,只用3张钞票)
为什么会这样呢?贪心策略错在了哪里?
鼠目寸光。
刚刚已经说过,贪心策略的纲领是:“尽量使接下来面对的w更小”。这样,贪心策略在w=15的局面时,会优先使用11来把w降到4;但是在这个问题中,凑出4的代价是很高的,必须使用4×1。如果使用了5,w会降为10,虽然没有4那么小,但是凑出10只需要两张5元。
在这里我们发现,贪心是一种只考虑眼前情况的策略。
那么,现在我们怎样才能避免鼠目寸光呢&#x
python最少钞票_钞票最少张数相关推荐
- python 线性规划问题_一学高数,线代就头疼?让python帮你解决(内含教程)
栏目「有学问」是UBook知识在线的趣味科普专栏,专注于分享有趣好玩的科普知识,旨在发现更多有趣好玩的冷知识,发掘更多生活中的趣味. 自从上了大学以后,各种高数线代数学课防不胜防,有人说,如果你觉得高 ...
- python corr画图_用一张很丑的图学习Python数据可视化基础--热力图
视频: # 热力图(相关矩阵) import seaborn as sns import matplotlib.pyplot as plt #准备数据,协方差矩阵 dfData = df.corr() ...
- FJUT-cwl的女朋友3 凑钱最少张数问题
废话不说,上题目! 基本思路:乍一看,康康想到的是贪心,但是(此处转折很重要),面额有坑,贪心是不能实现的,既然是求最少张数,可以考虑动态规划.emmm,康康听说一些大佬用搜索和暴力也可以快速ac,此 ...
- 【等价类划分法】某商店的货品价格(P)都不大于 20 元(且为整数),假设顾客每次付款为 20 元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少)。
题目: [说明] 某商店的货品价格(P)都不大于 20 元(且为整数),假设顾客每次付款为 20 元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少). 假 ...
- 一个顾客买了价值x元的商品,并将y元的钱交给售货员。售货员希望用张数最少的钱币找给顾客。 无论买商品的价值x是多大,找给他的钱最多需要以下六种币值:50,20,10,5,2,1
Problem Description 一个顾客买了价值x元的商品,并将y元的钱交给售货员.售货员希望用张数最少的钱币找给顾客. 无论买商品的价值x是多大,找给他的钱最多需要以下六种币值:50,20, ...
- C语言求把100元换成20元,10元,5元的纸币.要求每种纸币至少有一张。以及最少张数
求最少张数: #include <stdio.h> #include <stdlib.h> void main(void) { int n5,n10,n20; int m5,m ...
- python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...
使用Python的word文档的页数(Number of pages of a word document with Python) 有没有办法用Python有效地获得word文档(.doc,.doc ...
- Python 实例教学_ 04_排序
Python 实例教程 Python 实例教学_ 04_排序 第十九课 [870. 优势洗牌](https://leetcode.cn/problems/advantage-shuffle/) [90 ...
- Python 实例教学_ 03_列表
Python 实例教程 Python 实例教学_ 03_列表 第十三课 [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-c ...
最新文章
- OssImport系列之四——最佳实践
- 阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
- MACD 的数学解释
- 【安卓开发 】Android初级开发(零)各种布局
- POJ1204 Word Puzzles
- POJ3630——简单Trie树
- 1.(单选题) HTML是指,《计算机应用基础》第五阶段在线作业(自测).doc
- 蓝桥杯2015年第六届C/C++B组第六题-加法变乘法
- php smarty数学函数,smarty详解二:从文件读取变量、保留变量、数学计算、内建函数...
- 【UE】UE4下载安装及测试demo
- HTML网页实训的目的,web前端设计与开发-实验目的及要求 (2)
- 安装IBM HTTP SERVER
- 海洋cms 模板标签手册
- Acdream 1729 Crime
- 华为开发者大赛-昇腾AI初创大赛决赛暨星火计划Online第二期来啦!
- flutter拨打电话url_launcher
- Py遇到Bad key “text.kerning_factor“ on line 4 in
- 百钱百鸡问题(C++)
- STM32学习总结——UART
- WIFI基础入门--802.11--成帧细节(管理帧)--5