贪心
文章平均质量分 62
向日葵朝着太阳转动,时刻追求自身成长的最大可能。
贪心策略在一轮轮的简单选择中,逐步导向最佳答案。
程序员 Hasity
个人博客:www.52algo.com
展开
-
贪心(基础算法)--- 货仓选址
若P < Q,则每把仓库的选址向右移动1单位距离,距离之和就会变少Q - P.同理,若P > Q,则仓库的选址向左移动会使距离之和变小。题目要求的是n个商店与货仓的距离之和s最小,那么我们可以先来看看当商店如何选择才能使得s最小?把A[0]~A[N-1]排序,设货仓在X坐标处,X左侧的商店有P家,右侧的商店有Q家。当N为偶数时,仓库建在A[(N -1)/2]~A[N / 2]之间处都可。因此仓库应该建在中位数处,先把A进行排序,我们数组从0开始,当N为奇数时,货仓建在A[N /2]处,原创 2024-03-04 13:26:49 · 408 阅读 · 1 评论 -
贪心(基础算法)--- 牛马耍杂技
一头牛只撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,风险值越大,这只牛撑不住的可能性越高。也就是比较W(i) - S(i + 1)(交换前 ) 和W(i + 1) - S(i)(交换后)W(i) - S(i + 1)(交换前 ) > W(i + 1) - S(i)(交换后)W(i) - S(i + 1)(交换前 ) < W(i + 1) - S(i)(交换后)也就是 W(i) + S(i) < W(i + 1) + S (i + 1)原创 2024-03-04 11:55:39 · 790 阅读 · 0 评论 -
贪心(基础算法)--- 区间选点
遍历区间,如果当前区间左端点不包含在前一个区间中,则选取新区间,所选点个数加1,更新当前区间右端点。为证明 Ans == Cnt ,我们只需证明 Ans >= Cnt , Ans = 4。:在遍历其他区间的时候,同时更新区间右端点取最小值。既然Ans为最小数量,易得Ans原创 2024-03-03 17:49:56 · 600 阅读 · 1 评论