python贪心算法极差问题_基于python程序利用贪心算法解决旅行家的预算问题

该博客介绍了如何运用贪心算法解决一个旅行家在有限预算下从一个城市开到另一个城市的最小费用问题。给出了贪心算法的思想,即每次选择油价最便宜的加油站加油,除非在能到达的油站中没有更便宜的。通过Python代码展示了具体实现,并提供了样例输入和输出。
摘要由CSDN通过智能技术生成

问题描述

一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,……N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“No Solution”。

输入格式

第一行为4个实数D1、C、D2、P与一个非负整数N;

接下来N行,每行两个实数Di、Pi。

输出格式

如果可以到达目的地,输出一个实数(四舍五入至小数点后两位),表示最小费用;否则输出“No Solution”(不含引号)。

样例输入

275.6 11.9 27.4 2.8 2

102.0 2.9

220.0 2.2

样例输出

26.95

贪心算法:

1、贪心算法,就像它的名字一样,在每个状态都表现出一种贪心的心理,希望得到当前状态的最优策略,一点儿也不想吃亏,不愿从长远上去考虑。显然,这种策略是一种局部的最优解,它可能是整体最优,也可能不是,这类似于数学中的极值一样。不过贪心算法仍是非常有用的,因为它可以简化问题,把一个大问题分解成若干个小问题,降低了问题的复杂度,通过一步一步求解,逐步逼近最终结果,因为每一步都是当前的最优解,而最终得到的结果要么就是整体最优,要么接近整体最优解。

2、理论上来说,要想得到整体最优解,只有遍历所有情况。当要考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值