51Nod 1174区间中最大的数
来源:互联网 发布:js调用手写输入法 编辑:程序博客网 时间:2024/05/16 01:35
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1174
import java.util.Scanner;public class Main{static int N = 10000;static TNode[] q = new TNode[N*4];static int[] a = new int[N];public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();for(int i = 0; i < n; i++) {a[i] = scanner.nextInt();}build(0, 0, n-1);//查询的个数int m = scanner.nextInt();for(int i = 0; i < m; i++) {int left = scanner.nextInt();int right = scanner.nextInt();int tmp = query(0,0,n-1, left, right);System.out.println(tmp);}}public static void build(int i,int left,int right) {q[i] = new TNode();q[i].mark = 0;if (left == right) {q[i].val = a[left];} else {int mid = (left + right) / 2;build(i*2+1, left, mid);build(i*2+2, mid+1, right);q[i].val = Math.max(q[i*2+1].val, q[i*2+2].val);}}public static void pushDown(int i) {if(q[i].mark != 0) {q[i*2+1].mark += q[i].mark;q[i*2+2].mark += q[i].mark;q[i*2+1].val += q[i].mark;q[i*2+2].val += q[i].mark;q[i].mark = 0;}}public static int query(int i,int nstart,int nend,int left,int right) {if(nend < left || right < nstart) {return -1;}//当前节点区间包含在查询区间内if(left <= nstart && right >= nend) {return q[i].val;}pushDown(i);int mid = (nstart + nend) / 2;return Math.max(query(i*2+1,nstart,mid, left, right), query(i*2+2,mid+1,nend, left, right));}}class TNode {int mark;int val;}
阅读全文
0 0
- 51nod 1174 区间中最大的数【线段树】
- 51nod 1174 区间中最大的数
- 51nod--1174 区间中最大的数 (RMQ)
- 【51Nod】1174 - 区间中最大的数(RMQ)
- 51nod 1174 区间中最大的数(线段树)
- 51nod 1174 区间中最大的数
- 51nod:1174 区间中最大的数(RMQ)
- 【51Nod】1174 区间中最大的数
- 51Nod 1174区间中最大的数
- 51Nod-1174-区间中最大的数
- 51Nod 1174 区间中最大的数 线段树
- 51Nod-1174-区间中最大的数
- 51Nod-1174 区间中最大的数(RMQ)
- 51Nod 1174:区间中最大的数
- 51Nod 1174 区间中最大的数<线段树>
- 51nod 1174 区间中最大的数(RMQ)
- 51nod 1174 区间中最大的数
- 51Nod-1174-区间中最大的数
- vue2.0 axios前后端数据处理
- 大学回忆录
- HDU 4135 Co-prime (容斥原理)
- 3种Java从文件路径中获取文件名的方法
- swiper-移动端网页触摸内容滑动js插件
- 51Nod 1174区间中最大的数
- 光耦型号内部结构图
- tensorflow 的reshape()和resize()函数
- Python post 传递text格式参数(自己组装数据头)
- 2.自动索引计算数组元素的平方和
- Opencv实现的简易绘图工具
- ORA-02290: 违反检查约束条件 (MES_V1.SYS_C0027075)原因以及解决方法
- 面面向对象(上) 封装,继承,对象初始化流程,单例设计模式向对象(上) 封装,继承,对象初始化流程,单例设计模式
- BIO与NIO、AIO的区别