首页 > 其他分享 >Greedy algorithm basic principle

Greedy algorithm basic principle

时间:2023-10-20 11:56:13浏览次数:36  
标签:问题 algorithm Greedy 选择 算法 principle 最优 动态 贪心

贪心算法是以动态规划方法为基础的,在每个贪心算法之下,几乎总有一个更繁琐的动态规划算法。

贪心算法和动态规划不同之处在于:是否需要考虑子问题的解
贪心算法并不考虑子问题,直接在当前步骤中做出选择
动态规划无论是自底向上,

贪心算法设计步骤

  1. 将最优化问题转化为这样的形式:对其做出一次选择后,只剩下一个子问题需要求解。
  2. 证明做出贪心选择后,原问题总是存在最优解,即贪心选择总是安全的。
  3. 证明做出贪心选择后,剩余的子问题满足性质:其最优解与贪心选择组合即可得到原问题的最优解,这样就得到了最优子结构。

标签:问题,algorithm,Greedy,选择,算法,principle,最优,动态,贪心
From: https://www.cnblogs.com/hongyugao/p/17776749.html

相关文章

  • Dynamic programming basic principle
    Thereisaconfusingquestion,i.e.thenameofthismethodisdynamicprogramming,howcanweunderstandit?Thedynamicprogramminginchineseis"动态规划",tobehonest,thistranslationisimprecise,becausewecan'tgettherealthinking......
  • Metropolis Algorithms for Representative Subgraph Sampling
    目录概主要内容MetropolisgraphsamplingH\¨{u}blerC.andKriegelH.,BorgwardtK.andGhahramaniZ.Metropolisalgorithmsforrepresentativesubgraphsampling.ICDM,2008.概提出了一种尽可能保持拓扑结构的子图采样方法.主要内容假设我们有一个大图\(G\),......
  • [USACO19DEC] Greedy Pie Eaters P 区间dp
    题目背景FarmerJohnhasMMcows,convenientlylabeled1…M1…M,whoenjoytheoccasionalchangeofpacefromeatinggrass.Asatreatforthecows,FarmerJohnhasbakedNNpies(1≤N≤3001≤N≤300),labeled1…N1…N.Cowiienjoyspieswithlabelsinther......
  • greedy2309
    本来前面还有一点内容的,但是今天手残把文件从U盘里误删了,费了好大功夫恢复出来的时候发现前面一点内容已经被一段不知名且缺胳膊少腿的代码覆盖了,所以就只能这样了。这启发我没事多备份备份以防悲剧发生。\(\color{red}{\text{CF1661F*2600}}\)可以推广到许多函数上。所以可以......
  • 【倍增】ABC212F Greedy Takahashi 题解
    ABC212F暴力就是直接跳,显然不可过。考虑对暴力进行优化,发现整个图是不会改变的,容易想到使用倍增。显然是对边进行倍增的,令\(f_{i,j}\)表示从第\(i\)条边开始,跳了\(2^j\)条边后,到的是哪一条边,如果不存在,则设为\(-1\)。然后就是很显然的倍增了,最后讨论一下即可。时间复......
  • 点云配准算法-旋转矩阵估计-Kabsch-Umeyama algorithm
    Kabsch-Umeyamaalgorithm参考文献:https://www.wikiwand.com/en/Kabsch_algorithm面向点云配准,最小化两点集均方根误差(RMSD,rootmeansquareddeviation)来计算最佳旋转矩阵。注:该算法只能计算旋转矩阵,做点云配准还需要计算平移向量。当平移和旋转都正确计算出,该算法有......
  • javascript: Sorting Algorithms
     //SortingAlgorithmsintJavaScripthttps://www.geeksforgeeks.org/sorting-algorithms//***fileSort.js*1.BubbleSort冒泡排序法*@paramarry*@paramnszie*/functionBubbleSort(arry,nszie){vari,j,temp;varswapped;for(i=0;i......
  • 进化算法中的遗传算法(Genetic Algorithms)
    进化算法中的遗传算法(GeneticAlgorithms)引言进化算法是一类基于自然进化原理的优化算法,通过模拟生物进化过程中的选择、交叉和变异等操作,来求解复杂问题。遗传算法(GeneticAlgorithms)是进化算法中最为经典和常用的一种方法。本文将介绍遗传算法的基本原理、核心操作和应用领域,以及......
  • java: Sorting Algorithms
     /***encoding:utf-8*版权所有2023©涂聚文有限公司*许可信息查看:https://www.geeksforgeeks.org/sorting-algorithms/*描述:https://www.geeksforgeeks.org/sorting-algorithms/*#Author:geovindu,GeovinDu涂聚文.**#IDE:IntelliJID......
  • CSharp: Sorting Algorithms
     /*****************************************************************//***\fileSortingAlgorithm.cs*\briefcsharpSortingAlgorithms算法*IDEvs2022C#.net6.0*\authorgeovindu*\dateSeptember282023**************************......