3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二
时间:2022-05-08
本文章向大家介绍3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二,主要内容包括3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二、Description、Input、Output、Sample Input、Sample Output、HINT、Source、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 21 Solved: 18
Description
洞窟里有一道长长的通道.它由N(1≤N≤25000)段道尾相连构成,编号分别为1到N.每个通道有一个阈值,其范围在[1,10^9]依次通过i..j的通道,那奶牛的体重指数就不能超过i..j通道中阈值的最小值.贝茜有Q(1≤Q≤25000)个问题,想请教你由i到j的通道的阈值的最小值.
Input
第1行输入N和Q,接下来N行输入每个通道的阈值,之后Q行每行两个整数,对应问题中的i和j(i<j).
Output
对于每个问题,输出其结果.
Sample Input
10 4 75 30 100 38 50 51 52 20 81 5 1 10 3 5 6 9 8 10
Sample Output
5 38 20 5
HINT
Source
题解:RMQ模板题。。。感觉自己水水哒
1 /**************************************************************
2 Problem: 3381
3 User: HansBug
4 Language: Pascal
5 Result: Accepted
6 Time:272 ms
7 Memory:2220 kb
8 ****************************************************************/
9
10 var
11 i,j,k,l,m,n,h:longint;
12 a:array[0..30000,0..16] of longint;
13 function min(x,y:longint):longint;
14 begin
15 if x<y then min:=x else min:=y;
16 end;
17 begin
18 readln(n,m);
19 h:=trunc(ln(n)/ln(2)+1);
20 for i:=1 to n do readln(a[i,0]);
21 for i:=1 to h do
22 for j:=1 to n-trunc(exp(ln(2)*i))+1 do
23 a[j,i]:=min(a[j,i-1],a[j+trunc(exp(ln(2)*(i-1))),i-1]);
24
25 for i:=1 to m do
26 begin
27 readln(j,k);
28 l:=trunc(ln(k-j+1)/ln(2));
29 writeln(min(a[j,l],a[k-trunc(exp(ln(2)*l))+1,l]));
30 end;
31 readln;
32 end.
- Jarvis-OJ平台多题WriteUp分享
- 会员提问 之 JS中的私有方法有什么意义?
- 本周末的QQ群视频--还是电商网站的事
- 【译】使用Apache的mod重写来保护你的C2 Empire
- 大白话,设计一个购物车对象
- 【译】Cromos – 下载并注入代码到谷歌 Chrome 浏览器扩展中
- X-NUCA 2017第三期 WriteUp
- 学习分享 | Flipped Ciphertext Bits
- 聊一下JavaScript定时器
- java redis 通用组建
- 学习分享 | Padding Oracle
- FastJson 反序列化注意事项
- Python编写渗透工具学习笔记二 | 0x05编写脚本劫持tcp会话
- linux下socket编程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Git 删除已提交的文件
- Sublime 怎么装SQL语法检测器
- Vue 设置环境变量和模式
- 你真的掌握了Python基本语法了吗?
- Mybatis-Generator 代码生成器的使用
- 提高数据分析工作效率-Sublime如何设置默认打开文件格式
- 使用 freemarker 制作代码生成器
- 假期闲的慌,不如做一点SQL基础练习吧
- Vue 中全局过滤器的使用
- 游戏-CSP201712-2-Java
- Mybatis generator 生成 Mapper 方法不全
- Vue 中使用 JQuery 插件不起作用
- 公共钥匙盒-CSP数组排序练习
- 疫情这么严重,还不待家里学Numpy和Pandas?
- CSP-201812-2-小明放学-Java