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

龙岩天宫山缆车收费淘宝seo

龙岩天宫山缆车收费,淘宝seo,个人博客网站建设方案,哪里有做php网站免费教程为了使消耗的体力最小,每次都应该选择当前重量最小的两堆果子进行合并。可以使用优先队列(小根堆)来实现这个过程,优先队列可以自动维护元素的顺序,每次取出堆顶的两个元素(即最小的两个元素)进…

在这里插入图片描述

为了使消耗的体力最小,每次都应该选择当前重量最小的两堆果子进行合并。可以使用优先队列(小根堆)来实现这个过程,优先队列可以自动维护元素的顺序,每次取出堆顶的两个元素(即最小的两个元素)进行合并,然后将合并后的结果重新插入堆中,重复这个过程直到堆中只剩下一个元素。

【算法思路】

  1. 优先队列的定义:使用 priority_queue<int, vector<int>, greater<int>> pq; 定义一个小根堆,这样每次从堆中取出的元素都是当前最小的元素。
  2. 读入数据:通过循环读入每堆果子的重量,并将其加入优先队列。
  3. 合并过程:当优先队列中的元素数量大于 1 时,取出堆顶的两个元素进行合并,计算合并的消耗并累加到 totalCost 中,然后将合并后的结果重新插入优先队列。
  4. 输出结果:当优先队列中只剩下一个元素时,合并过程结束,输出 totalCost,即最小的体力消耗值。

【代码示例】

#include<iostream>
#include<vector>
#include<queue>
using namespace std;int main(){int n;cin>>n;//定义小根堆 priority_queue<int,vector<int>,greater<int>> pq;//读入每堆果子的重量并加入优先队列 int i;for(i=0; i<n; ++i){int weight;cin>>weight;pq.push(weight);}int totalCost = 0;//当堆中元素数量大于1时,继续合并while(pq.size() > 1){//取出最小的两堆果子int a = pq.top();//获取不移除pq.pop();//移除int b = pq.top();pq.pop();//计算合并这两堆果子的消耗int cost = a+b; totalCost += cost;//将合并后的果子堆加入优先队列 pq.push(cost);} //输出最小的体力消耗值 cout<<totalCost<<endl;return 0;
}
http://www.dtcms.com/wzjs/243779.html

相关文章:

  • 为WordPress添加测试用户seo优化范畴
  • 长春阿凡达网站建设什么平台免费推广效果最好
  • 四川网站建设公司 登录上海搜索推广
  • 冠县企业做网站推广网站制作免费
  • 做外贸网站需要缴什么税国外免费源码共享网站
  • 宣传册seo自然排名关键词来源的优缺点
  • 网站轮播动态图如何做广州推广引流公司
  • 网站如何做关键词企业门户网站模板
  • 360网站推广怎么做活动推广方式
  • 南京建设网站多少钱网店培训
  • 网站开发asp.net保定seo推广公司
  • 我们是谁 网站运营公司网站设计方案
  • 舟山市住房和城乡建设局网站西地那非
  • 政府网站 建设问题搜狗网站收录入口
  • 重庆百度网站排名seo报价单
  • 绵阳网站建设推广产品推广计划方案
  • 宁波建设局网站上海网站设计
  • 公司网站优化一键优化表格
  • 小米官方网站开发版在哪里宁波seo托管公司
  • 做网站需要多大带宽营销推广方案包括哪些内容
  • 了解做房产广告的网站宣传软文怎么写
  • 网站开发流程属于制作与开发河南郑州网站顾问
  • 网站运营工资婚恋网站排名前三
  • 网站建设中网站功能描述书功能谷歌首页
  • 深圳手机网站公司百度关键词怎么刷上去
  • 小说网站建设教程seo网站推广与优化方案
  • 盐田区网站建设2023b站推广大全
  • 做flash网站框架引擎刷网站软件
  • 系统开发工具有哪些关键词优化seo优化排名
  • 客户管理系统排名seo综合查询爱站