题目1544:数字序列区间最小值

时间限制:1 秒

内存限制:128 兆

特殊判题:

题目描述:

给定一个数字序列,查询任意给定区间内数字的最小值。

输入:

输入包含多组测试用例,每组测试用例的开头为一个整数n(1<=n<=100000),代表数字序列的长度。
接下去一行给出n个数字,代表数字序列。数字在int范围内。
下一行为一个整数t(1<=t<=10000),代表查询的次数。
最后t行,每行给出一个查询,由两个整数表示l、r(1<=l<=r<=n)。

输出:

对于每个查询,输出区间[l,r]内的最小值。

样例输入:
5
3 2 1 4 3
3
1 3
2 4
4 5
样例输出:
1
1
3区间最值,线段树入门最基本的试题。
#include <iostream>
#include <stdio.h>
#include <queue>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
#include <map>
#include <math.h>
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
using namespace std ;
typedef long long LL ;
const int N_size=100008 ;
int N ,M ;
struct Seg{int left ;int right ;int min_num ;
}seg[N_size*3];  //二叉树性质,注意这个地方
int num[N_size] ;
void make_tree(int L ,int R ,int id){seg[id].left=L ;seg[id].right=R ;if(L==R){seg[id].min_num=num[L] ;return  ;}int mid=(L+R)>>1 ;make_tree(L,mid,id*2) ;make_tree(mid+1,R,id*2+1) ;seg[id].min_num=Min(seg[id*2].min_num,seg[id*2+1].min_num) ;
}
int query(int L ,int R ,int id){if(L<=seg[id].left&&seg[id].right<=R)return  seg[id].min_num ;int mid=(seg[id].left+seg[id].right)>>1  ;if(R<=mid)return query(L,R,id*2) ;else if(mid<L)return  query(L,R,id*2+1) ;elsereturn Min(query(L,mid,id*2),query(mid+1,R,id*2+1)) ;
}
int main(){int L ,R ;while(scanf("%d",&N)!=EOF){for(int i=1;i<=N;i++)scanf("%d",&num[i]) ;make_tree(1,N,1) ;scanf("%d",&M) ;while(M--){scanf("%d%d",&L,&R)  ;if(L>R)swap(L,R) ;printf("%d\n",query(L,R,1)) ;}}return 0 ;
}

  

转载于:https://www.cnblogs.com/liyangtianmen/p/3354982.html

题目1544:数字序列区间最小值相关推荐

  1. bzoj1049[HAOI2006]数字序列

    1049: [HAOI2006]数字序列 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1813  Solved: 789 [Submit][Sta ...

  2. 找出数组中最长的连续数字序列(JavaScript实现)

    原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: 1 func ...

  3. P4331 [BalticOI 2004]Sequence 数字序列(左偏树)

    P4331 [BalticOI 2004]Sequence 数字序列 给定一个序列整数a1,a2,a3,-,an−1,ana_1, a_2, a_3, \dots, a_{n - 1}, a_na1​ ...

  4. bzoj 1049: [HAOI2006]数字序列(DP+DP)

    1049: [HAOI2006]数字序列 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1848  Solved: 801 [Submit][Sta ...

  5. 线段树2 求区间最小值

    线段树2 求区间最小值 递归,DFS,尤其是二叉树,我只要知道我的返回节点就好,因为DFS的顺序一定是一样的,不同的题目和数据范围也是一样的,只是返回节点让DFS的深度不同. 递归的内容只有两部分:1 ...

  6. 华为机试真题 C 实现【非严格递增连续数字序列】【2022 Q4新题】

            所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 输入一个字符串仅包含大小写字母和数字,求字符串中包含 ...

  7. 数字序列 Number Sequence

    题目描述 给出一个正整数i.编写一个程序来查找位于编号组S1S2 ... Sk序列中位置i的数字.每组Sk由一系列从1到k的正整数组成,依次写入.  例如,序列的前80位数字如下:   1121231 ...

  8. TZOJ 3315 买火车票(线段树区间最小值)

    描述 Byteotian州铁道部决定赶上时代,为此他们引进了城市联网.假设城市联网顺次连接着n 个市从1 到n 编号(起始城市编号为1,终止城市编号为n).每辆火车有m个座位且在任何两个运送更多的乘客 ...

  9. 快手校招笔试题 数字序列第n位的值

    题目描述 有一个无限长的数字序列1,2,2,3,3,3,4,4,4,4,5,5,5,5,5...(数字序列从1开始递增,且数字k在该序列中正好出现k次),求第n项是多少 输入描述: 输入为一个整数n ...

  10. 华为机试:非严格递增连续数字序列

    [编程题目 | 100分]非严格递增连续数字序列 [ 100 / 简单 ] 非严格递增连续数字序列 题目描述: 输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度 ...

最新文章

  1. ​2021年机器学习什么风向?把注意力放在MLP上
  2. 打开vsd_低温修正下的CDFA与VSD
  3. 如何有效的压缩虚拟磁盘
  4. js实现椭圆轨迹_华为开发者大会2020隆重召开,亿健T10椭圆机荣耀参展
  5. 连接linux系统的mysql,Linux系统MySQL开启远程连接
  6. 自定义类加载器与热部署
  7. SQL Prompt教程:使用SQL提示代码分析避免T-SQL技术债务
  8. IEEE access参考文献的添加
  9. 编曲宿主DAW是什么 2023年编曲宿主软件哪个好用
  10. 点点动画~画出懂你的3D魔方
  11. 国防科技大学计算机考研资料汇总
  12. 2、SpringBoot接口Http协议开发实战8节课(7-8)
  13. 计算机二级考试python+C语言通过记录
  14. 啃光学论文的笔记(1)
  15. 6月17日吃鸡服务器维护,英雄联盟6月17日更新了什么
  16. 计算机网络原理第3章 数据链路层 (超全知识点+例题)
  17. 卷积码树状图怎么画_第八讲卷积码详解.ppt
  18. linux下使用 sb设备的方法,Linux虚拟文件系统概述(2)get_sb
  19. 紫金计算机科学技术男女比例,福建省内7所高校公布2020级新生数据!你的大学男女比例是多少?...
  20. 在java中下面对于构造函数描述正确的是_在Java中,下面对于构造函数的描述正确的是()。(选择一项)...

热门文章

  1. Git 操作实战示例
  2. 解决IIS安装的问题:要求输入用户名和密码
  3. 130 MySQL字段完整性约束(重要)
  4. 使用jdbc连接数据库的步骤
  5. iMX6QD How to Add 24-bit LVDS Support in Android
  6. JAVA编程中异常问题处理方式的区别和分析
  7. ascll编码表图片_ASCII码一览表,ASCII码对照表
  8. mysql 分页_MySQL如何实现分页查询
  9. tns-03505: 无法解析名称_在 Azure上购买域名并进行域名解析
  10. 如何打出好看的数学公式呢?