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

网站建设的技术上海网站建设过程

网站建设的技术,上海网站建设过程,江苏备案网站名称,wordpress教程 好看目录 题目描述 解题思路 代码部分 题目描述 在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a*b1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得…

目录

题目描述

解题思路

代码部分


题目描述

在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a*b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max-min。

输入

第一行,一个数为N;

第二行,N个数。

输出

输出极差。

样例输入

3
1 2 3

样例输出

2

解题思路

经过计算可以证明:

当输入的一行数按升序排列时,最终算出的结果值最大;

当输入的一行数按降序排列时,最终算出的结果值最小。(解题关键)

可以采用优先队列解题,最终队列剩下的那个值就是这一行数最终算出来的结果。

升序和降序队列的计算可以双线同时进行。

升序优先队列的解决方法

默认的优先队列是降序排列的优先队列,如何能让降序队列变成升序队列呢?有一个简单方法:

将降序队列的所有数变成原来的相反数,再用“优先队列”存储,得到的队列和原队列正好相反,

原来的队列是降序队列,现在的队列就成功转化成了升序队列!

转化成升序队列之后一定要时刻注意,不能直接调用升序队列存储的数据!因为升序队列存储的数据是原数据的相反数。同时,继续向升序队列队尾push值的时候,一定要先变成相反数再推入!!

代码部分

#include <iostream>
#include <cstring>
#include <queue>
typedef long long ll;
using namespace std;
priority_queue<ll>down;//降序
priority_queue<ll>up;//升序
ll x, y;
int main()
{int n;cin >> n;for (int i = 1; i <= n; i++){cin >> x;down.push(x);//降序up.push(-x);//升序。//默认的优先队列按照降序存储,//所以如果想要实现升序存储,只能存入-x;}for (int i = 1; i < n; i++){//处理降序队列的问题x = down.top(); down.pop();y = down.top(); down.pop();down.push(x * y + 1);//处理升序队列的问题x = -up.top(); up.pop();//因为在实现升序存储时将存入的数据变成了相反数,//所以这里调用真实数据时必须再取一次相反数y = -up.top(); up.pop();up.push(-(x * y + 1));//x*y=(-x)*(-y)//这里一定要注意!!!//别忘了实现升序排列要将数据变成相反数存储!!!//一定是-(x*y+1)!!!}cout << -up.top() - down.top();//up.top()是原本数据的相反数,最后这里也要变回来return 0;
}

http://www.15wanjia.com/news/173612.html

相关文章:

  • 做拼货商城网站自己制作网页怎么制作的
  • c语言 做网站打开小程序
  • 广州兼职网网站建设如何自己做游戏网站
  • 如何搭建一个完整的网站网站建设中采用的技术方案
  • 做漫画在线观看网站深圳新闻最新消息今天
  • 2017商会网站建设方案公司网站工程案例怎么做
  • 网站建设费计入什么科目比较好河南省住房和城乡建设厅网站首页
  • 浅析我国门户网站建设不足做网站 蓝洋
  • 免费大气网站模板手机网站自适应屏幕
  • 数据库和网站传奇网游游戏排行榜
  • 购物网站黑白点击器 百度网盘
  • 顺德网络营销网站wordpress 标题相同
  • 宽屏网站源码鹤壁公司做网站
  • 百度地图添加到网站深圳网站建设服务商哪些好?
  • 免费做漫画网站深圳网络推广公司有哪些
  • 创建网站时可使用的数据库有全影网的网站哪儿做d
  • 一万元做网站竹子建站seo设置怎么做
  • 西安网站维保公司天津做网站开发的
  • 雪域什么网站是做电影的网店推广总结
  • 网站建设实践收获天河区进一步
  • 怎么seo网站关键词优化潍坊网站建设尚荣
  • 楚雄州建设局网站如何修改WordPress账号
  • 桂林北站附近住宿东莞封了几个镇
  • 网站设计的标准达内学费价格表
  • 如何进入微网站静态网站怎么做
  • 怎么做二手房网站如何把自己电脑做网站服务器
  • 西宁圆井模板我自己做的网站网站建设需要大约多少钱
  • 上海专业做网站公司有哪些域名网查询
  • dart语言做的网站网站开发与建设的原则
  • 流量套餐网站网站建设与经营