编程语言
首页 > 编程语言> > 算法学习之路——贪心

算法学习之路——贪心

作者:互联网

基本概念:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

基本要素

基本思路

例题

#include <stdio.h>
int a[100010] ;
int main()
{
int n,m,i,j,k,ans=0,sum=0;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]+sum>m)
{
sum=0;
ans++;
}
sum=sum+a[i];
}
if(sum)
{
ans++;
}
printf("%d",ans);
return 0;
}

标签:问题,无后效,学习,算法,选择,最优,贪心
来源: https://blog.csdn.net/qq_43597036/article/details/87430754