1427. 数列极差

洛谷题单全套题解(java版) 【代码】洛谷题单全套题解(java版) 阅读详情

信息学奥赛一本通 贪心算法 

【题目描述】

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

【输入】

第一行,一个数为N;

第二行,N个数。

【输出】

输出极差。

【输入样例】

3
1 2 3

【输出样例】

2

【分析】

尝试用样例数据进行计算,发现升序结果大,降序结果小。可采用贪心的算法,每次取队列前两个进行计算,将计算结果再插入到队列中去,直到队列中只剩下一个数据。每插入一个数据,都要重新排序,所以用优先队列比较合适。

priority_queue<int,vector<int>,less<int>> a; //大顶堆 ,降序
priority_queue<int,vector<int>,greater<int>> b; //小顶堆 ,升序

【完整代码】

#include <bits/stdc++.h>

using namespace std;
int main(int argc, char *argv[]) {
	priority_queue<int,vector<int>,less<int>> a; //大顶堆 ,降序
	priority_queue<int,vector<int>,greater<int>> b; //小顶堆 ,升序
	int n;
	cin >> n;
	for(int i = 0; i < n; i++){
		int t;
		cin >> t;
		a.push(t);
		b.push(t);
	}
//取二,添加一
	while(a.size()>1){
		int t1,t2;
		t1 = a.top();
		a.pop();
		t2 = a.top();
		a.pop();
		a.push(t1 * t2 + 1);
		t1 = b.top();
		b.pop();
		t2 = b.top();
		b.pop();
		b.push(t1 * t2 + 1);
	}
	//小顶堆 - 大顶堆
	int result = b.top() - a.top();
	cout << result;
	return 0;
}

数列极差详解与算法应用(信息学奥赛一本通-T1427) 数列极差是信息学奥赛中的一个重要概念,它是指数列中最大值与最小值之差。在数据处理和算法设计中,极差作为一个基础的统计量,常常被用来衡量数据的波动性。极差是描述数列波动性的一个基础统计量,它是指数列中最大值与最小值之间的差值。这个概念非常直观:在一组数据中,极差反映了数据的变动范围和分散程度。用数学语言来描述,如果一个数列中的元素为{a1, a2, … 阅读详情

相关推荐

数列极差问题

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

【贪心】信息奥赛一本通 1427:数列极差

【题目描述】 在黑板上写了NN 个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数aa 和bb ,然后在数列中加入一个数a×b+1a×b+1 ,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的maxmax ,最小的为minmin ,则该数列的极差定义为M=max−minM=max−min 。 ...

WaterScorpio的博客 1256

Vscode远程免密连接Linux虚拟机,并配置C/C++运行环境

目前想要深入学习在Linux,也为了方便编写C/C++程序。Linux的环境里一般自带有c++的编译环境,如果没有安装gcc和g++等编译器也比较便利。但是在虚拟机里用vim编写C++程序又不得劲,因此打算使用vscode远程连接Linux虚拟机进行学习。为了防止自己以后还要再配置,重复踩坑,因此写下这篇博客用做记录。环境:windows11、VMware17、rocky linux9.1 ( 开源的CentOS9 )

m0_56779872的博客 8677

1427:数列极差

【题目描述】 在黑板上写了NN个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数aa和bb,然后在数列中加入一个数a×b+1a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的maxmax,最小的为minmin,则该数列的极差定义为M=max−minM=max−min。 【输入】 第一行,一个数为NN; 第二行,NN个数。 【输出】 输出极差。 【输入样例】 3 1 2 3 【输出样例】 2 假设有三个数a,b,c,且满足 a.

C_Dreamy的博客 2307

手把手教你用TLP350驱动IGBT:光耦隔离驱动电路完整设计教程

本文详细介绍了如何使用TLP350光耦隔离驱动电路设计IGBT驱动方案。从TLP350芯片特性分析到驱动电路架构设计,包括信号调理、自举电源和栅极控制网络,再到PCB布局优化和保护电路设计,提供了完整的实战指南。通过实测波形分析和故障排查,帮助工程师快速掌握IGBT驱动电路的设计要点和进阶技巧。

weixin_30566063的博客 822

STM32F4使用CUBEMX ADC定时采样+DMA

STM32、FFT、ADC、TIM

m0_62379750的博客 4222

数列极差(信息学奥赛一本通-T1427)

【题目描述】 在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max−min。 【输入】 第一行,一个数为N; 第二行,N个数。 【输出】 输出极差。 【输入样例】 3 1 2 3 【输出样例...

Alex_McAvoy的博客 1736

Verilog——反相器

反相器代码: module inv( A, Y );//A,Y是端口 //定义端口属性 input A; output Y; //定义输入输出关系 assign Y=~A;//Y等于A的反 endmodule //inv是module的名字

weixin_41788560的博客 9500

信息学奥赛一本通提高篇 1427:数列极差 贪心算法

在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max−min。时间限制: 1000 ms 内存限制: 65536 KB。解析:若想结果最大,优先选小的计算,若想结果最小,优先选大的计算;第一行,一个数为N;使用优先队列存储数;

长春高老师编程 886

安卓光速虚拟机ADB调试实战:从密钥配置到设备连接

本文详细介绍了在安卓光速虚拟机中进行ADB调试的完整实战流程。核心在于通过密钥配置解决设备未授权问题,并启用网络调试与端口映射,最终实现电脑与虚拟机的稳定连接。文章提供了从原理理解、脚本修改到实战命令和疑难排查的全方位指南,帮助开发者和爱好者高效利用光速虚拟机作为移动测试沙盒。

CAT789的专栏 556

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

第1部分 基础算法(提高篇)--第1章 贪心算法1427:数列极差

1427:数列极差 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 1771 通过数: 797 【题目描述】 在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得到的数中,最大的max,最小的为min,则该数列的极差定义为M=max−min。 【输入】 第一行,一个数为N; 第二行,N个数。 【输出】 输出极差。 【输入样例】 3 1 2 3 【

zqhf123的博客 1700

Imagenet数据集1000类别中英文

英文 {0: 'tench, Tinca tinca', 1: 'goldfish, Carassius auratus', 2: 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias', 3: 'tiger shark, Galeocerdo cuvieri', 4: 'hammerhead, hammerhead shark', 5: 'electric ray, cram.

识物专栏 1800

数列极差-贪心算法

给出n个正整数数列,进行如下操作:在数列中删除其中两个数a和b,然后在数列中的加入一个数a×b+1,如此下去,直至剩下一个数,在所有按这种操作方式最后得到的数中,最大的数记做Max,最小的数记做Min,则该数列的极差定义为M=Max-Min

jiaxuejun的博客 5977

FPGA学习笔记(一)入门背景、软件及时钟约束的概念及程序下载与固化

使用正点原子的PFPGA开拓者V2学习,通过b站上正点原子的手把手教你学FPGA-基于开拓者V2学习。

贾saisai的博客 3279

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【C++】「一本通 1.1 练习 1」数列极差

「一本通 1.1 练习 1」数列极差【来源】【题目描述】【输入格式】【输出格式】【输入样例】【输出样例】【数据范围】【解析1】【代码1】【解析2】【代码2】 【来源】 一本通题库-1427 LibreOJ-10005 vjudge 注意:一本通题库和LibreOJ题意相同,但输入格式不同。代码以一本通题库为准。 【题目描述】 在黑板上写了NNN个正整数作成的一个数列,进行如下操作:每一次擦去其中的...

Ljnoit 1271

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数列极差和大数模板

引用百度上的大数模板 1 /***************************************************************************** 2 无符号大整数类,包括了*和+法,类可以用小整数或者字符串输入,储存方式为:下标大的位储存高位 3 字符串输入时,必须手动去除前面多余的0 4 加法函数和乘法函数中,前2个参数为输入

xuesen1995的专栏 297

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【LOJ#10005】数列极差——贪心

好的时隔多年终于来更博客了 题目链接 题意很明确了,一眼就知道是要贪心,但是怎么贪呢? 对于a1,a2,a3,不妨令a1<a2<a3,那么就有三种取法: s1=(a1*a2+1)*a3+1=a1*a2*a3+a3+1; s2=(a2*a3+1)*a1+1=a1*a2*a3+a1+1; s3=(a1*a3+1)*a2+1=a1*a2*a3+a2+1; 显然s2最大...

weixin_30565199的博客 257

【记录贴】ACM入门day5

题目:P1217 [USACO1.5]回文质数 Prime Palindromes 总结: memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的; 原型为 : void *memset(void *s, int v,size_tn); s可以是数组名,也可以是指向某一内在空间的指针; v为要填充的值; n为要填充的字节数; 偶数位数回文数(除11)必定不是质数,因为奇数位和与偶数位和相同的数必能被11整除 回文数的判断方法: bool pd_h(int x) ...

weixin_58869950的博客 603

信息学奥赛一本通提高篇 题解目录

持续更新中。。。

长春高老师编程 3751

洛谷《深入浅出程序设计竞赛(基础篇)》题解

B2002 Hello,World!【入门】-优快云博客B2025 输出字符菱形【基础题】_洛谷 用*构造一个对线长5个字符 倾斜放置的菱形-优快云博客P1000 超级玛丽游戏【入门】-优快云博客P1001 A+B Problem【测试】-优快云博客B2005 字符三角形【基础题】-优快云博客P5703 苹果采购【水题】-优快云博客P5704 字母转换【入门】-优快云博客P5705 数字反转【水题】-优快云博客P5706 再分肥宅水【水题】-优快云博客P5708 三角形面积【数学】-CSD

海岛Blog 4484

基础算法 —— 贪心算法

【概述】 贪心算法是从问题的初始状态出发,通过若干次的贪心选择而得到的最优值的一种求解策略,即贪心策略。 简单来说,贪心策略是一种在每次决策时采取当前意义下最优策略的算法,做出的选择至少在某种约束条件下的局部最优解或较优解,并不一定是全局的最优解或较优解,但在某些特定的情况下,可以利用贪心算法来求得其最优解或较优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心...

Alex_McAvoy的博客 3395
上一篇: 1426. 智力大冲浪
下一篇: 1428. 数列分段
mapleleafcn
博客等级 码龄16年 55粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值