求上下界极值:
main(){对每一组输入数据计算比值的上下界,更新比值界限的极值全局最大的最小比值和全局最小的最大比值
}
Note: V需要满足所有记录,所以取---->全局最大的最小比值和全局最小的最大比值
P9240 [蓝桥杯 2023 省 B] 冶炼金属(比值问题)_python冶炼金属-CSDN博客
逼近:
def calculate_minimized_standard_deviation(num, target_sum, values):values.sort() # 对输入的值进行排序for i in range(num):# 计算剩余元素的新平均值if values[i] <= t_aver:# 如果当前元素小于或等于新平均值,支付该元素else:# 如果当前元素大于新平均值,则使用新平均值# 计算并返回标准差return (s / num) ** 0.5
Note: 标准差越小,每个数就越需要逼近平均数
博弈思想:
def race(horse_speeds):# 如果田最快快于王最快if fastest_horse(horse_speeds) == 'T':# 消耗王最快else:# 如果田最慢快于王最慢if slowest_horse > horse_speeds['W']:# 用田最慢消耗王最慢else:# 用田最慢消耗王最快
Note: 田快就比,田慢,就慢比快
田忌赛马(贪心算法)_田忌赛马算法-CSDN博客
空间覆盖问题:
main(){while(up,down)// 转up,down房间号为走廊号l-r ((up+1)/2)// 顺序由l->r的走廊计数加一// 最后输出最大走廊计数
}
Note: 最多的冲突次数就是要搬的次数(不冲突可以同时搬)
搬桌子(贪心)_搬桌子代码-CSDN博客
活动选择问题:
main(){//所有活动根据它们的结束时间进行排序// 遍历选择结束时间最早的活动// 选择后续的每个活动(开始时间不早于前一个被选择的活动的结束时间)// 计数:记录并更新所能参加的最大活动数量。
}
Note: 贪心结论:最先结束的活动一定是最优解的一部分