博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法第4章作业
阅读量:6345 次
发布时间:2019-06-22

本文共 960 字,大约阅读时间需要 3 分钟。

一、对贪心算法的理解

  贪心算法的思想是在对问题求解时,总是做出在当前看来是最好的选择,并不从整体最优上加以考虑,所做出的选择只是在某种意义上的局部最优解。但贪心算法不是对所有问题都能得到整体最优解,问题需要满足贪心算法的性质,即只有当局部最优解与全局最优解一致时,才能用贪心算法求解。

二、汽车加油问题的贪心选择性质

  贪心策略:当汽车当前油量足以行驶至下一个加油站时继续行驶,反之,加油。

  代码如下:

 

#include 
using namespace std;int main() { int n, k; cin >> n >> k; int a[k + 2]; for (int i = 1; i <= k + 1; i++) cin >> a[i]; int count = 0; int b = 0; int flag = 1; for (int i = 1; i <= k + 1; i++) { if (b + a[i] <= n) { b += a[i]; } else { if (b == 0) { flag = 0; break; } b = a[i]; count++; } } if (flag) cout << count << endl; else cout << "No Solution!\n"; return 0;}

 

三、在本章学习过程中遇到的问题及结对编程的情况

  贪心算法的解题关键在于贪心策略的正确性,在第四章实践课上的会场安排问题,我们就是因为选择了错误的贪心策略,导致无法求出完全正确的解,在经过我和队友的讨论以及请教他人后,成功找到了反例,并重新选择贪心策略,最终得到问题的解。

转载于:https://www.cnblogs.com/Lumasaevial/p/10051922.html

你可能感兴趣的文章
JavaScript异步编程
查看>>
tcpdump用法小记
查看>>
MySQL基础安全注意细节
查看>>
Oracle随机函数—dbms_random
查看>>
pvr 批量转换
查看>>
linux命令basename使用方法
查看>>
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
读书杂谈一
查看>>
winform listbox 元素显示tooltrip
查看>>
cacti安装与配置
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
javascript面向对象2
查看>>
限制容器对CPU的使用 - 每天5分钟玩转 Docker 容器技术(28)
查看>>
jquery 实现的一个 随机云标签网页背景
查看>>
android广播事件处理broadcast receive
查看>>
在eclipse 里面 修改tomcat的配置--Server Locations
查看>>