ST算法是基于倍增的动态规划算法。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
using namespace std;
int map[1000005][20];
int N,K;
void work()
{int i,j;for(j=1;1<<j<=N;j++)for(i=1;i+(1<<j)-1<=N;i++)//i+(1<<j)-1<=n是为了保证区间左端点不超出总数nmap[i][j]=min(map[i][j-1],map[i+(1<<j-1)][j-1]);//实质是动态规划
}
int question(int z,int y)
{int x=int (log(y-z+1)/log(2));//注意y-z要加一才为区间长度return min(map[z][x],map[y-(1<<x)+1][x]);//分别以左右两个端点为基础,向区间内跳1<<x的最
//大值;
}
int main()
{scanf("%d",&N);//输入数据总数scanf("%d",&K);//输入询问次数kfor(int i=1;i<=N;i++)scanf("%d",&map[i][0]);//数据输入加初始化,即从i开始向右走2的0次方的区间中的最大值,(注//意i到i的长度为一)。work();//预处理for(int i=1;i<=K;i++){int a,b;scanf("%d%d",&a,&b);printf("%d ",question(a,b));//输出结果}return 0;
}

ST函数(ST表)RMQ O(1)查询 离线相关推荐

  1. python:自定义函数,通过姓名及电话查询人员信息及添加新人员信息表(列表+字典)

    python:自定义函数,通过姓名及电话查询人员信息及添加新人员信息表(列表+字典) def zmz(c):s=[{'姓名':'','电话':'','部门':'','小组':'','职务':''}] ...

  2. SQL数据分析:sqlzoo官网学习select,where,order by,limit,聚合函数,having,常用函数,窗口函数,表链接,子查询

    SQL数据分析: 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金 ...

  3. MySQL 表的增删改查(进阶篇①)· 数据库约束 · 表的设计 · 新增查询结果 · 聚合查询 · 聚合函数 · group by · having · 笛卡尔积

    一.数据库约束 1.1 约束类型 1.2 非空约束 not null 1.3 唯一约束 unique 1.4 默认约束 default 1.5 主键约束 primary key 1.6 自增主键 pr ...

  4. ylb:SQL 表的高级查询-多表连接和子查询

    ylbtech-SQL Server: SQL Server-表的高级查询-多表连接和子查询 SQL Server 表的高级查询-多表连接和子查询. 1,ylb:表的高级查询-多表连接和子查询 返回顶 ...

  5. 数据库9:联结表 高级联结 组合查询 全文本搜索

    第十五章联结表 Sql最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结是利用sql的select能执行的最重要的操作,能很好的理解联结及其语法是学习sql的一个极为重要的组成部分. ...

  6. sql中“delete from 表名”表示_SQL查询语句知识点总结

    为什么要学习SQL? 数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件: 数据量增大的工具需求:excel处理十万以内的数据:数据量增大,需要使用更快速便捷的工具分析数据. SQL知 ...

  7. mssql 将查询结果作为表名参数_MySQL·查询(一)

    最近把时间都放在了回顾SQL语言上,因为能够按照需求在数据库中提取数据是非常重要的,太久没有去碰SQL,所以就花了一段时间去重新总结关于MySQL中的查询,希望下面简单的总结可以帮助大家理解SQL的查 ...

  8. 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?

    前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...

  9. mysql 查询 表别名_MySQL-复杂查询及条件-起别名-多表查询-04

    基本查询语句及方法 测试数据创建 如果在windows系统中,插入中文字符,select的结果为空白,可以将所有字符编码统一设置成gbk(或者参照我安装配置MySQL的博客,将所有字符编码设置为 ut ...

最新文章

  1. 1、CSS样式及其基本语法
  2. 公众号一年能有多少收入?
  3. 二分查找递归与非递归的时间比较_我们说一说Python的查找算法!
  4. unistd.h linux,Linux 标准库下的unistd.h
  5. spring boot 源码分析(七) 事件机制 之 SpringApplicationEvent
  6. perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
  7. js中substr,substring,indexOf,lastIndexOf的用法小结
  8. 嵌入式系统开发快速体验
  9. 51单片机学习笔记(一)软件及驱动安装
  10. qt 部署 错误_QT for Windows安装配置总结及采坑问题汇总
  11. Python运行jieba出现Building prefix dict from the default dictionary ...解决办法(会显示正确结果)
  12. 【WIN10】win10更改以太网名称以及以太网下网络名称
  13. 2023最新支付宝微信运动步数网页源码+附带原始接口
  14. Spring boot Failed to bind properties under ‘XXX‘问题
  15. 【漏洞复现】RTF URL Moniker 的逻辑漏洞 | OLE2Link 漏洞(CVE-2017-0199)
  16. CC1312R低功耗高集成度M4F内核Sub-1G收发芯片
  17. 面试官问我MySQL事务的底层原理?幸亏我总结了全套八股文
  18. 中国核心生态区类型及土地利用数据有哪些,如何进行获取
  19. jquery最大化窗口
  20. 利用飞秋的udp用java语言进行震动攻击

热门文章

  1. eltree ref什么时候有_DBA:为什么你老写慢SQL
  2. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
  3. poj1942(求组合数)
  4. 数据接口测试工具 Postman 介绍
  5. 微信小程序走出国门,国际化将指日可待?
  6. Citrix XenApp应用虚拟化之RTX串号问题解决
  7. 探讨后端选型中不同语言及对应的Web框架
  8. Activity后台运行一段时间回来crash问题的分析与解决
  9. 在Linux中发现IP地址冲突的方法
  10. Waiting 180 more seconds for 1 worker threads to finish