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

上海网站建设推荐wordpress登陆网址

上海网站建设推荐,wordpress登陆网址,医院管理系统网站开发,荆州网站seo为了使消耗的体力最小,每次都应该选择当前重量最小的两堆果子进行合并。可以使用优先队列(小根堆)来实现这个过程,优先队列可以自动维护元素的顺序,每次取出堆顶的两个元素(即最小的两个元素)进…

在这里插入图片描述

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

【算法思路】

  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.yayakq.cn/news/345542/

相关文章:

  • 做淘客网站用什么上传文件卖域名的网站要怎么做
  • 网站备案号要怎么查询建设官网电话号码
  • 兰州大学网页与网站设计全屋定制需要的软件
  • 西安网站建设哪家公司好佛山个性化网站开发
  • 引流量的网站上海网站建设 销售
  • 泗泾做网站公司空间设计公司
  • 临安建设投标网站高端网站建设哪里好
  • 网站+做+app织梦系统做的网站忘记登录密码
  • 安徽省和住房建设厅网站房产交易网站建设策划案
  • flash如何制作网站wordpress 相亲主题
  • net网站是国际域名吗国外销售网站怎样建设
  • 会昌县 两学一做 网站惠山网站建设
  • 网站开发公司外包小企业网站免费建设
  • 织梦cms做网站教程视频wordpress 小工具使用
  • 宣传网站制作网站优化哪个公司好
  • 用dw做的企业网站进入公众号提示微信授权失败
  • 向国旗敬礼 做新时代好少年网站良品铺子网络营销策划方案
  • 自己做网站需要哪些软件建筑工程网络计划软件
  • 高端网站建设公司好吗vue.js网站如果做自适应
  • 网站推广效果的评价wordpress 返回顶部插件
  • 东莞网站优化多少钱wordpress插件按下载数
  • 网站建设是一次性给钱还是什么重庆建设网官网
  • 如何查询网站的空间征婚网站咋做
  • 梅州建站方法企业如何宣传推广
  • 做网站销售会遇到哪些问题大数据营销的优缺点
  • 民营医院网站建设重庆前十装修公司排名
  • 研究生做网站开发少儿美术网站建设方案
  • 网上做网站任务欧模网
  • 医院网站建设管理规范培训学做网站要多久
  • 淘宝网站建设图片素材赤峰网站建设公司