蓝桥练习-算法训练 区间k大数查询
问题描述
给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。
输入格式
第一行包含一个数n,表示序列长度。
第二行包含n个正整数,表示给定的序列。
第三个包含一个正整数m,表示询问个数。
接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。
输出格式
总共输出m行,每行一个数,表示询问的答案。
样例输入
5
1 2 3 4 5
2
1 5 2
2 3 2
样例输出
4
2
数据规模与约定
对于30%的数据,n,m<=100;
对于100%的数据,n,m<=1000;
保证k<=(r-l+1),序列中的数<=106。
第一版题解:
#include <iostream>
#include <algorithm>
using namespace std;int n, m;//序列长度,询问个数
int l,r,K; //表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。
int a[1002]; //存放序列int main()
{scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", &a[i]);}sort(a, a+n+1); //从小到大排序scanf("%d", &m); //m个查询while(m--){scanf("%d%d%d", &l, &r, &K);//从l到r 从大到小的第K大for(int i = r; i >= l; i--){K--;if(K == 0){printf("%d\n", a[i]);}}}return 0;
}
WA原因:没有认真审题,太天真。输入数组后想着从小到大排序,输出第几大,但是忽略数组已改变的事实,有点蠢!
AC代码:
#include <iostream>
#include <algorithm>
using namespace std;int n, m;//序列长度,询问个数
int l,r,K; //表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。
int a[1010],b[1010]; //存放序列bool cmp(int a, int b)
{return a > b;
}int main()
{scanf("%d", &n);for(int i = 1; i <= n; i++){scanf("%d", &a[i]);}scanf("%d", &m); //m个查询while(m--){scanf("%d%d%d", &l, &r, &K);//从l到r 从大到小的第K大int index = 0;for(int i = l; i <= r; i++){b[index++] = a[i];}sort(b,b+index);printf("%d\n", b[index-K]);}return 0;
}
总结:做题还是不要想得太天真啦啦啦啦!
蓝桥练习-算法训练 区间k大数查询相关推荐
- java 蓝桥杯 算法训练 区间k大数查询(题解)
试题 算法训练 区间k大数查询 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示 ...
- 蓝桥杯 算法训练 区间k大数查询(水题)
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...
- 蓝桥杯 算法训练 区间k大数查询 --c++
试题 算法训练 区间k大数查询 提交此题 评测记录 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一 ...
- 蓝桥杯 算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- 蓝桥试题 算法训练 区间k大数查询 JAVA
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- 蓝桥杯java 算法训练 区间K大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- 蓝桥杯 ALGO-1 算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- 算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- python【蓝桥杯vip练习题库】ALGO-1区间k大数查询
试题 算法训练 区间k大数查询 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示 ...
最新文章
- Oracle 9i学习日志(9)--数据字典与动态性能视图及练习
- Markdown基础语法小结
- python怎么安装request_【python】如何安装requests
- 自己动手写ORM框架(六):实现查询功能FindById方法
- jquery 找不到live方法解决
- py脚本实现用例执行html报告,pytest文档7-pytest-html生成html报告
- 东北大学计算机期末考试题,东北大学计算机组成原理题库(10)
- angularjs 实例_AngularJS过滤器示例教程
- PHP报错 File:E:\\...\index\\controller\\Test.php Line(18) Illegal offset type in isset or empty
- AB PLC软件如何破解?
- CATIA 鼠标快捷键组合
- requirejs+jquery表单验证
- MQTT协议(四) 【PUBLISH】发布消息
- asp.net914-自驾游网站的设计与实现
- 三大框架之---MyBaits第二章
- LinuxC语言简单实现图片加马赛克-标准IO实现
- 职场六大困惑,处理不好每一个都很扎心
- Goland 常用插件
- 基于Dotnetty和Protobuf的Unity客户端开发(一)
- 基于组态王6.55的实时数据采集助手V1.0
热门文章
- SqlServer安装出错解决办法
- 记 QT 应用开发中的一个二进制兼容性问题
- 简略图解:输入 url 到出现页面,浏览器做了什么?
- C++ STL : 模拟实现STL中的关联式容器unordered_map/unordered_set
- QUIC实战(三) letsencrypt证书申请和自动续期
- 低至4.7折起!戴尔OptiPlex商用台式机限时特惠,重磅来袭!
- Java集合框架:ArrayList
- 阿里技术官最新总结一份105道Java面试题小册,看完我惊呆了
- 音视频技术开发周刊 | 183
- 使用 pyenv 管理 Python 版本