rmp-st算法
struct RMQ
{
int log2[N],mi[N][];
void init(int n)
{
for(int i = ; i <= n; i ++)log2[i] = (i == ? - : log2[i >> ] + );
for(int j = ; j < log2[n]; j ++)
for(int i = ; i + ( << j) <= n + ; i ++)
mi[i][j] = std::min(mi[i][j - ], mi[i + ( << j - )][j - ]);
}
int query(int ql, int qr)
{
int k = log2[qr - ql + ];
return std::min(mi[ql][k], mi[qr - ( << k) + ][k]);
}
} rmq;
rmp-st算法的更多相关文章
- ST算法
		
作用:ST算法是用来求解给定区间RMQ的最值,本文以最小值为例 举例: 给出一数组A[0~5] = {5,4,6,10,1,12},则区间[2,5]之间的最值为1. 方法:ST算法分成两部分:离线预处 ...
 - 求解区间最值 - RMQ - ST 算法介绍
		
解析 ST 算法是 RMQ(Range Minimum/Maximum Query)中一个很经典的算法,它天生用来求得一个区间的最值,但却不能维护最值,也就是说,过程中不能改变区间中的某个元素的值.O ...
 - RMQ问题之ST算法
		
RMQ问题之ST算法 RMQ(Range Minimum/Maximum Query)问题,即区间最值问题.给你n个数,a1 , a2 , a3 , ... ,an,求出区间 [ l , r ]的最大 ...
 - RMQ之ST算法模板
		
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; ; ],M ...
 - CodeForces 359D (数论+二分+ST算法)
		
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=47319 题目大意:给定一个序列,要求确定一个子序列,①使得该子序 ...
 - RMQ问题(线段树+ST算法)
		
转载自:http://kmplayer.iteye.com/blog/575725 RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ ...
 - [POJ3264]Balanced Lineup(RMQ, ST算法)
		
题目链接:http://poj.org/problem?id=3264 典型RMQ,这道题被我鞭尸了三遍也是醉了…这回用新学的st算法. st算法本身是一个区间dp,利用的性质就是相邻两个区间的最值的 ...
 - HDU 5289 Assignment (数字序列,ST算法)
		
题意: 给一个整数序列,多达10万个,问:有多少个区间满足“区间最大元素与最小元素之差不超过k”.k是给定的. 思路: 如果穷举,有O(n*n)复杂度.可以用ST算法先预处理每个区间最大和最小,O(n ...
 - [CF 191C]Fools and Roads[LCA Tarjan算法][LCA 与 RMQ问题的转化][LCA ST算法]
		
参考: 1. 郭华阳 - 算法合集之<RMQ与LCA问题>. 讲得很清楚! 2. http://www.cnblogs.com/lazycal/archive/2012/08/11/263 ...
 - RMQ问题与ST算法
		
RMQ(Range Minimum/Maximum Query)问题是求区间最值问题. 对于长度为 n 的数组 A,进行若干次查询,对于区间 [L,R] 返回数组A中下标在 [L,R] 中的最小(大) ...
 
随机推荐
- 自己实现一个Promise库
			
源码地址 先看基本使用 const promise = new Promise((resolve, reject) => { resolve(value) // or reject(reason ...
 - Angular ContentChild
			
contentchild // 使用方法 git clone https://git.oschina.net/mumu-osc/learn-component.git cd learn-compone ...
 - Web前端设计模式--制作漂亮的弹出层
			
设计场景: Ben最近在负责一个购书网站,在网站的首页上,有一个叫做“最新上架”的板块,板块的内容比较简单,只有书籍名称,作者姓名和上架时间(如图),当初设计的时候并i没有过于丰富的构思... 现在问 ...
 - php事件钩子
			
PHP中钩子函数的实现与认识: http://rmingwang.com/set-php-hooks.html 1.钩子函数是预设并在特定的条件下触发的. 2.钩子函数接管程序后可以影响到程序的走向 ...
 - LeetCode 笔记系列九 Search in Rotated Sorted Array
			
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
 - 测试csscss层叠顺序
			
<!Doctype html><html lang="zh-CN"><head><meta charset="utf-8&quo ...
 - WHICH ONE IS BETTER FOR NEWBIE?
			
DROP PROCEDURE IF EXISTS w_array; DELIMITER /w/ )) BEGIN ) DO SET @w = LOCATE(',', w_arr); ); SET @w ...
 - SaaS成熟度模型分级:
			
SaaS成熟度模型分级: 根据SaaS应用是否具有可配置性,高性能,可伸缩性的特性,SaaS成熟度模型被分成四级.每一级都比前一级增加三中特性中的一种. 可配置 高性能 可伸缩 Level1 N ...
 - Spring Data 增删改查事务的使用(七)
			
@Modifying 注解使用 @Modifying 结合 @Query注解进行更新操作 咱们单单的一个查询注解是没有办法完成事务的操作的 我们还要结合一点就是@Transaction 在spring ...
 - python学习笔记(三)— 文件操作
			
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件a.txt: 登鹳雀楼 唐代:王之涣 白日依山尽,黄河入海流. 一.文件基 ...