
贪心
lpc大菜逼
这个作者很懒,什么都没留下…
展开
-
复习题解集——老鼠与猫的交易
题目:有一只老鼠很喜欢奶酪,但是奶酪被分别放在N个房间里,而且这些房间都有一只猫咪看守,现在它准备和猫咪们做个交易。它有M磅的猫食,想用这M磅猫食换取奶酪。在猫咪看守的每一个房间里有奶酪J[i]磅,同时猫咪需要F[i]磅的食物,如果老鼠给猫咪Fi%的猫食,那么它就可以得到Ji%的奶酪。现在已知每只猫咪对猫食的需求量和每个房间的奶酪数,那老鼠怎样才能换得最多的奶酪呢?题解:入门水题,用性价比排序即可(a[i] / b[i]),基本读懂题就没问题了吧。。。。代码:#include <iostre原创 2020-07-11 18:38:36 · 442 阅读 · 0 评论 -
复习题解集——火柴排队
题目:涵涵有两盒火柴,每盒装有n 根火柴,每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为: ∑(ai-bi)^2其中 ai 表示第一列火柴中第 i 个火柴的高度,bi 表示第二列火柴中第 i 个火柴的高度。每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 99,999,997 取模的结果。输入:42 3 1 43 2原创 2020-07-11 11:36:36 · 217 阅读 · 0 评论 -
最多能完成排序的块题解
1.题目:题目描述:数组arr是[0, 1, …, n - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?输入:55 4 3 2 1输出:12.分析:这是一道神奇的贪心题,首先你要理解题目,题目要让你将这些数分成几块,比如【5,4】【3,2,1】然后你要保证对每个块中的数排序,最后可重组为排序后的原序列,最后让其块数最大。最后的贪心思路, 找到前i个数的最大值,然后和现在的真确序原创 2020-07-01 13:32:29 · 179 阅读 · 0 评论