贪心算法思想

求上下界极值:

复制代码
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: 贪心结论:最先结束的活动一定是最优解的一部分

相关推荐
何陋轩16 分钟前
【重磅】悟空来了:国产AI编程助手深度测评,能否吊打Copilot?
人工智能·算法·面试
逸风尊者1 小时前
XGBoost模型工程使用
java·后端·算法
LUVK_1 小时前
第七章查找
数据结构·c++·考研·算法·408
khalil10201 小时前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归
lihihi2 小时前
P9936 [NFLSPC #6] 等差数列
算法
啊我不会诶2 小时前
2024ICPC西安邀请赛补题
c++·算法
谭欣辰2 小时前
C++ 版Dijkstra 算法详解
c++·算法·图论
yuan199972 小时前
C&CG(列与约束生成)算法,来解决“风光随机性”下的微网鲁棒配置问题
c语言·开发语言·算法
wayz113 小时前
Day 11 编程实战:XGBoost金融预测与调参
算法·机器学习·金融·集成学习·boosting
念越3 小时前
算法每日一题 Day07|双指针求解和为S的两个数
算法·力扣