题目链接:https://www.luogu.org/problemnew/show/P2880

是你逼我用ST表的啊qaq

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 500001;
int minst[maxn][21], maxst[maxn][21], a[maxn], l, r, n, m;
int main()
{
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
minst[i][0] = a[i];
maxst[i][0] = a[i];
}
for(int j = 1; (1<<j) <= n; j++)
for(int i = 1; i <= n - (1<<j) + 1; i++)
{
maxst[i][j] = max(maxst[i][j-1],maxst[i+(1<<(j-1))][j-1]);
minst[i][j] = min(minst[i][j-1],minst[i+(1<<(j-1))][j-1]);
}
for(int i = 1; i <= m; i++)
{
scanf("%d%d",&l,&r);
int j = 0;
while((1<<(j+1)) <= (r - l + 1)) j++;
printf("%d\n",max(maxst[l][j],maxst[r-(1<<j)+1][j])-min(minst[l][j],minst[r-(1<<j)+1][j]));
}
return 0;
}

【luogu P2880 [USACO07JAN]平衡的阵容Balanced Lineup】 题解的更多相关文章

  1. ST表 || RMQ问题 || BZOJ 1699: [Usaco2007 Jan]Balanced Lineup排队 || Luogu P2880 [USACO07JAN]平衡的阵容Balanced Lineup

    题面:P2880 [USACO07JAN]平衡的阵容Balanced Lineup 题解: ST表板子 代码: #include<cstdio> #include<cstring&g ...

  2. Luogu P2880 [USACO07JAN]平衡的阵容Balanced Lineup (ST表模板)

    传送门(ST表裸题) ST表是一种很优雅的算法,用于求静态RMQ 数组l[i][j]表示从i开始,长度为2^j的序列中的最大值 注意事项: 1.核心部分: ; (<<j) <= n; ...

  3. 洛谷P2880 [USACO07JAN]平衡的阵容Balanced Lineup 题解

    题目链接: https://www.luogu.org/problemnew/show/P2880 分析: ST表实现即可,一个最大值数组和最小值数组同时维护 代码: #include<cstd ...

  4. P2880 [USACO07JAN]平衡的阵容Balanced Lineup(RMQ的倍增模板)

    题面:P2880 [USACO07JAN]平衡的阵容Balanced Lineup RMQ问题:给定一个长度为N的区间,M个询问,每次询问Li到Ri这段区间元素的最大值/最小值. RMQ的高级写法一般 ...

  5. P2880 [USACO07JAN]平衡的阵容Balanced Lineup

    P2880 [USACO07JAN]平衡的阵容Balanced Lineup RMQ RMQ模板题 静态求区间最大/最小值 (开了O2还能卡到rank9) #include<iostream&g ...

  6. 【洛谷】P2880 [USACO07JAN]平衡的阵容Balanced Lineup(st表)

    题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...

  7. 洛谷—— P2880 [USACO07JAN]平衡的阵容Balanced Lineup

    https://www.luogu.org/problemnew/show/P2880 题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序 ...

  8. [USACO07JAN]平衡的阵容Balanced Lineup

    [USACO07JAN]平衡的阵容Balanced Lineup 题目描述 For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) a ...

  9. [USACO07JAN]平衡的阵容Balanced Lineup BZOJ 1699

    题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...

随机推荐

  1. unity规范

    Unity VS脚本自动添加头部注释 http://blog.csdn.net/yupu56/article/details/52326930 Unity3D C#代码注释规范及文档生成 http:/ ...

  2. 如何优雅地使用httprunner进行接口测试

    一天,你的领导X要你对某接口做测试,你一听,接口测试,高大上.用什么做好呢?postman?jmeter?loadrunner?balabala...优秀的你,想到了一大堆工具,当然也包括用pytho ...

  3. Python项目中如何优雅的import

    Python项目中如何优雅的import 前言 之前有一篇关于Python编码规范的随笔, 但是写的比较杂乱, 因为提到了import语句, 在篇文章中, 我专门来讲Python项目中如何更好的imp ...

  4. django 将表数据通过API展示到页面上(转)

    需求: 我在learn这个app下创建了两张表,其中一个表为user,我希望通过API,在页面是展示这些数据,当用户访问指定的url时,将表中所有对象展示到页面上. 先看learn/models.py ...

  5. 【linux】dpkg 命令使用说明

    dpkg是一个debian包管理工具.能够对包进行安装.卸载.获取信息等操作.用法:    安装(解包并配置):       dpkg -i package_file       dpkg --ins ...

  6. ul+js模拟select+改进

    html: <div class="select_box"> <input type="text" value="还款方式" ...

  7. PHP通过映射类查找类所在文件

    $reflectObj = new ReflectionClass(类名); $file_name = $reflectObj->getFileName(); var_dump($file_na ...

  8. C# .net页面乱码

    可在web.config中设置 <globalization requestEncoding="utf-8" responseEncoding="utf-8&quo ...

  9. css3轮播渐显效果 2016/11/29

    css3因为其兼容性的问题,被我忽略很久,这次正好做到一个轮播渐显的效果,想了想,正好复习下css3的相关内容,废话不多说,直接上代码. <ul class="cb-slideshow ...

  10. Grunt压缩图片和JS

    今天我们来说一下用Grunt来压缩图片和JS吧! 首先要安装插件: 这是压缩图片的; npm install --save-dev gulp-imagemin 这是压缩JS的: npm install ...