博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UOJ #225.排队
阅读量:5301 次
发布时间:2019-06-14

本文共 854 字,大约阅读时间需要 2 分钟。

【题目描述】:每天,农夫约翰的N头奶牛总是按同一顺序排好队,有一天,约翰决定让一些牛玩一场飞盘游戏(Ultimate Frisbee),他决定在队列里选择一群位置连续的奶牛进行比赛,为了避免比赛结果过于悬殊,要求挑出的奶牛身高不要相差太大。约翰准备了Q组奶牛选择,并告诉你所有奶牛的身高Hi。他想知道每组里最高的奶牛和最矮的奶牛身高差是多少。注意:在最大的数据上,输入输出将占据大部分时间。【输入描述】:第一行,两个用空格隔开的整数N和Q。第2到第N+1行,每行一个整数,第i+1行表示第i头奶牛的身高Hi第N+2到第N+Q+1行,每行两个用空格隔开的整数A和B,表示选择从A到B的所有牛(1<=A<=B<=N)【输出描述】:共Q行,每行一个整数,代表每个询问的答案。【样例输入】:6 31734251 54 62 2【样例输出】:630【时间限制、数据范围及描述】:时间:1s 空间:128M1<=N<=50,000; 1<=Q<=200,000; 1<=Hi<=10^6本题用RMQ求出区间最大和区间最小,然后将二者相减即可。Code:#include
#include
#include
#include
#include
#include
#include
using namespace std;const int N=1000005,M=25;int n,q,a[N],f1[N][M],f2[N][M];int query1(int L,int R){ int k; k=int(log(R-L+1)/log(2)); return max(f1[L][k],f1[R+1-(1<

转载于:https://www.cnblogs.com/ukcxrtjr/p/11194152.html

你可能感兴趣的文章
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
web前端之路,js的一些好书(摘自聂微东 )
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>