
算法----贪心
大章鱼(张文哲
你所做的别只停留在 还行
展开
-
Saryman‘s Army
题目: 输入 N=6 R=10 x = {1,7,15. 20,30,50} 输出 3(如上图所示) 分析: 我们从最左边开始考虑。对于这个点,到距其R以内的区域内必须要有带有标记的点。(此点位于最左边,所以显然)带有标记的这个点一定在此点右侧(包含这个点自身)。 于是,究竟要给哪个点加上标记呢?答案应该是从最左边的点开始,距离为R以内的最远的点。因为更左的区域没有覆...原创 2020-03-20 18:11:20 · 171 阅读 · 0 评论 -
Best Cow Line
题目: 输入 N= 6 s = "ACDBCB" 输出 ABCBCD(如下图所示进行操作) 分析: 从字典序的性质上看,无论T的末尾有多大,只要前面部分的较小就可以。所以我们可以试一下如下贪心算法: ■不断取S的开头和末尾中较小的一一个字符放 到T的末尾。 这个算法已经接近正确了,只是针对S的开头和末尾字符相同的情形还没有定义。在这种情形下,因为我们希望能够尽早使...原创 2020-03-20 18:04:48 · 361 阅读 · 1 评论 -
区间调度问题
题目: 你需要得到更多的工作 输入 n=5,s={1,2,4,6,8},t={3,5,7,9,10} 输出 3 (选取工作1、3、5) 分析: 这个问题也可以通过贪心算法来求解,但不像前面的硬币问题那么简单。我们可以设计出各种各样的贪心算法,例如下面的算法就是其中最容易想到的一一种。 ■在可选的工作(也就是和目前已选的工作都不重叠的工作)中,每次都选取开始时间最早的工...原创 2020-03-20 17:53:57 · 657 阅读 · 0 评论 -
硬币问题
题目: 输入 C,=3,C。=2,C。=1,C。=3,C0=0,Cs0=2,A= 620 输出 6 (500元硬币1枚,50元硬币2枚,10元硬币1枚,5元硬币2枚,合计6枚) 分析: 这是个贴近生活的简单问题。凭直觉,可以得出如下正确的解答。 ■首先尽可能多地使用500元硬币; ■剩余部分尽可能多地使用100元硬币; ■剩余部分尽可能多地使用50元硬币; ■剩余部...原创 2020-03-20 17:47:38 · 421 阅读 · 0 评论 -
圣诞老人的礼物
问题描述: 圣诞节来临了,圣诞老人准备分发糖果,现在有很多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走,圣诞老人只能装重量w的糖果,请问圣诞老人最多能带走多大价值的糖果。 思路分析: 贪心算法:对糖果单价排序,选单价最大的优先带走 代码实现: #include<cstdio> #include<algorithm> using names...原创 2019-05-14 08:21:17 · 969 阅读 · 0 评论