
贪心
文章平均质量分 68
chp的博客
这个作者很懒,什么都没留下…
展开
-
AcWing125. 耍杂技的牛(贪心+推公式)
类似于冒泡排序的思路,可以用贪心的思想来找到该问题的一个最优解,就是按照。这是一道贪心问题,我们假设牛最终的摆放顺序(从上大小)为。的位置,后所有牛风险值的最大值不会变大。的位置,后所有牛风险值的最大值会变小。首先,可以容易想到交换两头牛。从小到大的顺序从高往低摆放牛。所以,存在相邻的两头牛。,当存在相邻的两头牛。原创 2023-12-23 19:56:29 · 996 阅读 · 0 评论 -
AcWing 105. 七夕祭—数学推导、贪心
其次,我们可以发现,我们在行上调整某个摊位,不会影响该摊位所在列的摊位数量,比如摊位 x 的位置为(x,y),上下调整到(x+1,y)、(x-1,y)不会影响对这一列的摊位数量有影响,同理我们在列上调整某个摊位,不会影响该摊位所在行的摊位数量。所以我们的目标最小的交换次数就等于最小在行上面的交换次数+最小在列上面的交换次数。首先,如果想要做到每行的摊位数都一样,那么总摊位数一定是行数的倍数(0倍也行),同理如果想要做到每列的摊位数都一样,那么总摊位数应该是列数的倍数。可以发现,在行/列上,这是一道。原创 2023-07-17 11:12:12 · 225 阅读 · 0 评论 -
拦截导弹 & 导弹防御系统
第二个问题,可以用贪心的思想来做,每次新到的导弹,我们用当前导弹高度恰好大于等于该导弹高度的导弹系统去拦截,这样所用的导弹系统的数量是最少的。**分析:**这道题稍微复杂一些,因为有两种拦截导弹的可能,由于数据范围较小,可以直接暴力枚举每一种可能,第一个问题为输出最长递减子序列,由于导弹数在1000以内所以采用时间复杂度为。我这里求最长上升子序列和贪心的时间复杂度都为。** 代码如下:**原创 2023-04-17 10:34:38 · 3457 阅读 · 0 评论 -
鱼塘钓鱼
输入样例: 5 10 14 20 16 9 2 4 6 5 3 3 5 4 4 14 输出样例: 76 分析: 分析这道题,用贪心的思想来考虑,当我们在一个鱼塘钓鱼时,就应该一直在该鱼塘钓鱼,直到在此处钓鱼不能满足最大钓鱼数时,在前往下一个鱼塘。也就是说在一个鱼塘钓鱼不会发生先去下一个鱼塘钓鱼,再回来钓着一个鱼塘的情况,这样不会浪费在路上的时间。这就是这道题的贪心思想,也就是钓鱼时,会依次向下一个鱼塘钓鱼,而不会返回。 这样,可以考虑以哪个鱼塘作为结束钓鱼的鱼塘,遍历所有鱼塘,这样,每次在以某个鱼..原创 2021-02-08 10:52:56 · 238 阅读 · 0 评论 -
常见区间贪心问题
区间选点 题目链接 给定N个闭区间[ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数N,表示区间数。 接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。 输出格式 输出一个整数,表示所需的点的最小数量。 数据范围 1≤N≤1e5, −1e9≤ai≤bi≤1e9 输入样例: 3 -1 1 2 4 3 5 输出样例: 2 代码如下: #include<cstdio原创 2021-01-16 16:15:24 · 536 阅读 · 0 评论 -
区间合并
区间合并: 给定 nn 个区间 [li,ri][li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3]和[2,6]可以合并为一个区间[1,6]。 输入格式 第一行包含整数n。 接下来n行,每行包含两个整数 l 和 r。 输出格式 共一行,包含一个整数,表示合并区间完成后的区间个数。 数据范围 1≤n≤10000...原创 2020-08-17 22:16:00 · 131 阅读 · 0 评论