这里是关于贪心的一些小东西\^o^/

如何提高博客访问量?


什么是贪心?

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。

贪心是最容易理解的算法思想;把整个问题分解成多个步骤,在每个步骤都选取当前步骤的最优方案,直到所有步骤结束,每一步都不考虑对后续步骤的影响,在后续步骤中也不再回头改变前面的选择。


  • 例题1:有n个数组,从每个数组里面选一个数,使选择的数总和最大。
  • 例题2:用10元,5元,1元纸币凑n元,求最少用多少张?
#include <bits/stdc++.h>
using namespace std;
int main () {
	int n;
	scanf("%d",&n);
	int ans = n / 10 + (n % 10) / 5 + n % 10 % 5;
	printf("%d",ans);
}
  • 例题3:用11元,5元,1元纸币凑n元,求最少用多少张?
#include <bits/stdc++.h>
using namespace std;
int main () {
	int n;
	scanf("%d",&n);
	int ans = 1000000000;
	for (int i = 0; i <= n/11 ; ++i) {
		int left = n - i * 11;
		ans = min(ans ,i + left/5 + left % 5 );
	}
	printf("%d\n",ans);
}

  • A - Sasha and His Trip:N个城市编号1-N,第i个城市油价i元,油箱容量为v升,每个城市之间路程消耗1升油,求从1到N的最少成本

  • B - Emotes:N个表情,每个表情有愉悦值a[i],使用m个表情,每个表情不能连续使用超过k次,求最大愉悦值
发布了33 篇原创文章 · 获赞 15 · 访问量 897

猜你喜欢

转载自blog.csdn.net/weixin_43925900/article/details/103947870
今日推荐