随笔分类 - 2022暑期集训:第34课:贪心算法-真题训练
找每一步的最优解
摘要:[2008年NOIP普及组] 排座椅 思路:首先运用结构体存入每行每列的具体信息,读入 m行n列 k条横向l条纵向通道 d对同学说话, 按顺序为每行每列编号。再一对一对地拆说话的同学(要计数),根据需求度排序,最后输出k行 l列。 代码如下: #include<iostream> #include<
阅读全文
摘要:[2013年NOIP提高组] 积木大赛 思路:每次输入一个数时,将它的高度与前一个数的高度作比较。若比前面的大,操作步数就加上他们的差值,最后输出总步数。 代码如下: #include<iostream> #include<algorithm> #include<cmath> using names
阅读全文
摘要:[2010年NOIP普及组] 接水问题 思路:用贪心算法。分为两种情况,第一种是水龙头数多,一次就能都打完,直接输出用时最长的即可;第二种是人数多,需要一个接一个的接水,所以每次都要找出能先打完的水龙头,让后面的人接上,最后找出用时最长的水龙头。 (还要写两个函数,一个找数最大的,另一个找最小的)
阅读全文
摘要:[2007年NOIP普及组] 纪念品分组 思路:运用贪心算法。将纪念品按价格排序,然后一前一后两两组队,如果没有超过上限w,就组队成功;反之,就失败,较大的一个单独成一组,较小的再等别的来组队。最后输出总队数。 代码如下: #include<bits/stdc++.h> using namespac
阅读全文
摘要:[2002年NOIP提高组] 均分纸牌 思路:贪心算法。将n堆纸牌的平均数算出来,将每堆纸牌i与平均数的差值转到i+1堆纸牌上,每操作一步,计数器+1。最后输出操作步数就好。 代码如下: #include<iostream> using namespace std; int a[10010]; in
阅读全文

浙公网安备 33010602011771号