
贪心算法
用最简洁的语言搞懂贪心算法!
努力的小诚
梦想家,漫步于星辰之间,
用心捕捉生活的细微光影,
沉浸于文字的海洋,
翩翩起舞于诗意的世界。
喜欢与自然为伴,
在清晨的阳光中醒来,
在落日的余晖下思考,
在月色的静谧中沉醉。
每一篇文字,
都是心灵的倾诉,
每一行诗句,
都是情感的流淌。
愿与你分享,
心灵深处的美好,
让文字化作思念,
在彼此的世界里相遇。
展开
-
问题 D: 删数问题
这个算法的关键在于识别何时移除一个数字。一般而言,如果一个数字大于其右边的数字,移除它会使得结果更小。我们重复这个过程,直到移除了 S 个数字或者没有更多的这样的数字可移除为止。输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。从左到右遍历数字,移除那些会使得剩余的数字尽可能小的数字,直到我们移除了 S 个数字。(N不超过240位)输入数据均不需判错。原创 2024-01-06 12:46:35 · 586 阅读 · 0 评论 -
问题 H: 导弹拦截
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。对于每一颗飞来的导弹,我们尽量选择一个已有的系统来拦截,如果没有适合的系统,则新增一个系统。要拦截所有导弹最小配备的系统数k。原创 2024-01-06 11:22:27 · 464 阅读 · 0 评论 -
问题 F: 节目安排
接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。假期到了,天宝终于可以无压力的看电视了。但是他喜欢的节目有点多,如何尽可能多的看到完整的节目。输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示天宝喜欢的节目的总数。对于每组输入,输出能完整看到的电视节目的个数。他把喜欢的节目时间表给你,请帮他安排一下吧。哦对了,别忘记当n=0的时候要停止。那么这题的区别是什么呢?当n=0时,输入结束。原创 2024-01-06 10:42:43 · 568 阅读 · 0 评论 -
问题 C: 活动选择
学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使。现在给出n个活动使用礼堂的起始时间bi和结束时间ei(bi < ei<=32767),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。接受两个参数,a和b,两个参数都是对Hd结构体的引用,并且是常量引用(由const关键字标示),所以写法是。cmp是一个自定义的比较函数,用于确定两个Hd结构体实例在排序时的顺序,为sort提供一个排序的准则。我们要想想要怎么贪心,我们的目标是想选到最多的活动。原创 2024-01-06 10:29:38 · 631 阅读 · 0 评论 -
问题 B: 分牌
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;从 ③ 取4张牌放到④(9 8 13 10)->从③取3张牌放到 ②(9 11 10 10)-> 从②取1张牌放到①(10 10 10 10)。有 N 堆纸牌,编号分别为 1,2,…可以在任一堆上取若干张纸牌,然后移动。计算每堆纸牌与平均数的差值,然后在相邻的纸牌堆之间进行调整,从而使得每堆纸牌的数量达到平均数。An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000)原创 2024-01-06 09:20:31 · 557 阅读 · 0 评论 -
问题 A: 和最大
用最简洁的语言搞懂贪心算法!原创 2024-01-06 08:56:52 · 571 阅读 · 0 评论