当前位置: 首页 > news >正文

网上商城网站建设规划wordpress的别名获得页面的别名

网上商城网站建设规划,wordpress的别名获得页面的别名,wordpress 页面显示分类文章,手机app制作视频教程贪心算法(Greedy Algorithm) 是一种在每个步骤中都选择当前最优解的算法设计策略。它通常用于解决优化问题,例如最小化成本或最大化收益。贪心算法的核心思想是:在每一步选择中,都做出局部最优的选择,希望…

贪心算法(Greedy Algorithm)

是一种在每个步骤中都选择当前最优解的算法设计策略。它通常用于解决优化问题,例如最小化成本或最大化收益。贪心算法的核心思想是:在每一步选择中,都做出局部最优的选择,希望最终能得到全局最优解。

贪心算法的特点

贪心选择性质:
一个问题的整体最优解可以通过一系列局部最优选择来构造。
每次选择只依赖于当前状态,而不考虑未来的影响。
最优子结构性质:
一个问题的最优解包含其子问题的最优解。
简单高效:
贪心算法通常比动态规划等方法更简单、更高效,但适用范围有限。

经典题目

1.找零问题
给定不同面额的硬币和一个总金额,要求使用最少数量的硬币凑出该金额。
分析一下这个问题:这种问题肯定是先使用大的去找,大的找不完采用晓得,典型的局部最优解–>整体最优解
思路先用大的找->再用小的找

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int minCoins(vector<int>& coins, int amount) {// 对硬币面额从大到小排序sort(coins.begin(), coins.end(), greater<int>());int count = 0; // 记录硬币数量for (int coin : coins) {if (amount == 0) break; // 如果金额为 0,结束循环count += amount / coin; // 使用当前面额的硬币尽可能多amount %= coin;         // 更新剩余金额}return amount == 0 ? count : -1; // 如果无法找零,返回 -1
}int main() {vector<int> coins = {1, 5, 10, 25}; // 硬币面额int amount;cout << "请输入总金额: ";cin >> amount;int result = minCoins(coins, amount);if (result != -1) {cout << "最少需要 " << result << " 枚硬币。" << endl;} else {cout << "无法找零。" << endl;}return 0;
}```
2. 活动选择问题
给定一组活动及其开始时间和结束时间,求最多能参加多少个不重叠的活动。
对于活动选择问题,贪心策略通常是优先选择结束时间最早的活动。原因如下:
如果一个活动的结束时间较早,那么它留下的时间窗口就更大,从而为后续活动提供了更多可能的选择。
这种策略确保每次选择都尽可能地为后续活动腾出空间,从而最大化可参加的活动数量。
```cpp
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;struct Activity {int start, end;
};// 按照活动结束时间排序
bool compare(Activity a, Activity b) {return a.end < b.end;
}int maxActivities(vector<Activity>& activities) {// 按结束时间排序sort(activities.begin(), activities.end(), compare);int count = 1; // 至少可以选择第一个活动int lastEnd = activities[0].end;for (int i = 1; i < activities.size(); ++i) {if (activities[i].start >= lastEnd) { // 如果当前活动与上一个活动不冲突count++;lastEnd = activities[i].end; // 更新最后一个活动的结束时间}}return count;
}int main() {vector<Activity> activities = {{1, 3}, {2, 5}, {4, 7}, {6, 9}};cout << "最多可以参加 " << maxActivities(activities) << " 个活动。" << endl;return 0;
}
  1. 分糖果问题
    有若干孩子和糖果,每个孩子有一个贪婪因子(表示至少需要多少糖果才能满足),每个糖果有一个大小。问最多能满足多少孩子?
    策略:
    优先满足需求最小的孩子:因为需求小的孩子更容易被满足,这样可以腾出更多较大的糖果来满足其他孩子。
    优先使用最小的糖果:因为较小的糖果可能无法满足需求大的孩子,但可以满足需求小的孩子。
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int findContentChildren(vector<int>& g, vector<int>& s) {// 对孩子的贪婪因子和糖果大小进行排序sort(g.begin(), g.end());sort(s.begin(), s.end());int child = 0, cookie = 0;while (child < g.size() && cookie < s.size()) {if (s[cookie] >= g[child]) { // 如果当前糖果可以满足孩子child++; // 满足的孩子数加 1}cookie++; // 移动到下一个糖果}return child; // 返回满足的孩子数
}int main() {vector<int> g = {1, 2, 3}; // 孩子的贪婪因子vector<int> s = {1, 1};    // 糖果的大小cout << "最多可以满足 " << findContentChildren(g, s) << " 个孩子。" << endl;return 0;
}
  1. 最优装载问题
    有一艘船,载重量为 W,有若干货物,每个货物有重量 w[i]。求最多能装多少货物。
#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int maxLoad(vector<int>& weights, int W) {// 按货物重量从小到大排序sort(weights.begin(), weights.end());int count = 0; // 记录装入的货物数量for (int weight : weights) {if (W >= weight) { // 如果还能装下当前货物count++;W -= weight; // 更新剩余载重量} else {break;}}return count;
}int main() {vector<int> weights = {4, 8, 1, 5, 2}; // 货物重量int W;cout << "请输入船的最大载重量: ";cin >> W;cout << "最多可以装载 " << maxLoad(weights, W) << " 件货物。" << endl;return 0;
}
http://www.dtcms.com/a/538822.html

相关文章:

  • AI Agent是个啥
  • 提供微网站制作电话最近发生的重大新闻事件
  • 云建站模板金阳建设集团网站
  • 哪里有做网站app的个人网站建设教程
  • 网站有什么好处侨联网站建设方案
  • 汽车之家官网网页版入口宣城网站seo诊断
  • 微网站开发 培训海拉尔做网站多少钱
  • 四川成都网站制作公司做网站多少钱zwnet
  • 吉林系统建站怎么用衡水做网站技术
  • 北京市住房与建设厅官方网站60个偏门暴利赚钱项目
  • 做推广哪个食品网站好中国招标机构哪个网站做的好
  • 网站营销成功的案例旅行网站建设的规划书
  • seo建网站品传集团网站建设
  • 安徽合肥网站制作公司电子印章在线制作生成器免费
  • php网站模板怎么用网站门户建设方案
  • 网站维护需要什么美橙表业手表网站
  • dedecms生成xml网站地图建投五公司网站
  • 织梦手机网站模板删除汕头公众号开发公司
  • 域名备案用的网站建设方案网站及新媒体建设宣传片
  • 网站建设带后台做润滑油网站图片
  • 查看网站开发平台外贸网站页面用什么做最好
  • 怎么建一个公司运营网站天元建设集团有限公司青岛分公司张德平不干了
  • 免费数据源网站wordpress 5.2.2安装要求
  • 备案网站免网设计个网站需要怎么做
  • 网站制作文案杭州wordpress图片上传
  • 网站建设推广济南兴田德润优惠吗最好的网站模版
  • 深圳外贸网站建设企业263企业邮箱官方入口网页版
  • 网站无法处理请求东莞网站优化公
  • 南阳做做网站网站开发公司对比
  • 工业设计网站哪个最asp企业建站系统