贪心练习总结
在这一周没课的时间,做了几道贪心的练习题发现了自己总是不能第一时间的想到简单的贪心方法,总是沉浸在原来 的旧方法中。要多想一些时间,才可以发现贪心的办法。也许这是因为我做的题目太少的原因,对这样的题目不是太熟悉。在这次的练习中又发现了结构体的好处,在某些比较、数组等特别好用,便于构造cmp函数。
例题:
- FatMouse准备了M磅的猫粮,打算与看守仓库的猫交换食品,仓库里存放着它喜爱的食物JavaBean。
- 仓库有n个库房,库房i存放J[i]磅JavaBean,需要F[i]磅猫粮予以交换。FatMouse不需要交换库房里所有的JavaBean,可以按比例交换。如果它支付F[i]×a%磅的猫粮,就可以换取J[i]×a%磅的JavaBean,其中a是实数。
- 编程任务:FatMouse最多能换取多少JavaBean。
分析:
本题就是要求在自己的食物的限定内,能够换更多的猫粮。本题主要用的贪心算法是比较比值的大小,大的可以用少的食物换更多的猫粮,等到自己所剩余的食物不足够换取下一次的猫粮时,求所剩的食物能换的猫粮。前面这两种情况加起来即可。
加油,继续努力做练习。