当前位置: 首页 > ai >正文

Day01 ST表——倍增表

注意:

推荐算法书:算法竞赛(2022年出的)

1<<x:2^x!!!    比pow(2,x)快!!!

i>>1:i/2 !!!     

输入输出数据量超过1e5+10:用io优化 或者 scanf 、printf

1e9 数量级   大约  2^31幂次   

#define int long long // 输入要用lld   scanf       所以不建议全体开long long,易忘。

ST表

P3865 【模板】ST 表 && RMQ 问题 - 洛谷

#include<bits/stdc++.h>
using namespace std;/*
ST(倍增表)
状态:st[i][j] 代表区间[i,i+2^j-1]的最值,其中i是区间的左端点,区间长度是2^j
边界 st[i][0]=a[i]状态转移方程:st[i][j] = max(st[i][j-1],st[i+2^(j-1)][j-1])求区间[l,r]的最值
len = r-l+1 
x = log2(len)
max = max(st[l][x],st[r-2^x+1][x])         //O(1)
*/const int N = 1e5 + 10 ;
int a[N],st[N][30]; 
int n,m;
int lb[N]; //lb[i] 《==》 log2(i) void init_log(){lb[1]=0;//lb[2]=lb[1]+1=1//lb[3]=lb[1]+1=1//lb[4]=lb[2]+1=2for(int i=2;i<=n;i++) lb[i]=lb[i>>1]+1; 
}//创建st表时间复杂度:O(nlogn) 
void create_st(){for(int j = 1 ; j <= lb[n]; j++){for(int i = 1 ; i + (1<<j) -1 <= n ; i++){st[i][j] = max(st[i][j-1],st[i+(1<<(j-1))][j-1]);}}
}//区间最值查询:O(1) 
int query(int l,int r){int x = lb[r-l+1];return max(st[l][x],st[r-(1<<x)+1][x]);
}int main(){cin>>n>>m;for(int i=1;i<=n;i++){//cin>>a[i];scanf("%d",&a[i]);st[i][0]=a[i]; //st[i][0]代表区间[i,i]的最值 }init_log();create_st();while(m--){int l,r; //cin>>l>>r;scanf("%d %d",&l,&r);printf("%d\n",query(l,r));//cout<<query(l,r)<<endl;} return 0;
}

类型题:

区间选数k 蓝桥账户中心

附近最小 蓝桥账户中心

GCD不小于K的子数组 蓝桥账户中心

完结!!!⠀՞⸝⸝. .⸝⸝՞˳ഒ

http://www.xdnf.cn/news/5353.html

相关文章:

  • 11、参数化三维产品设计组件 - /设计与仿真组件/parametric-3d-product-design
  • 移动应用开发的六大设计原则
  • [Java实战]Spring Boot 整合 Freemarker (十一)
  • C++入门小馆: 二叉搜索树
  • 前端面试2
  • 【C语言干货】二维数组传参本质
  • C++23 views::repeat (P2474R2) 写一篇博客
  • Flutter - UIKit开发相关指南 - 导航
  • 深入理解 Java 适配器模式:架构设计中的接口转换艺术
  • 集成灶十大品牌对比
  • Nodejs核心机制
  • 说说Redis的内存淘汰策略?
  • 超市销售管理系统 - 需求分析阶段报告
  • Fiori学习专题四十:单一控件
  • 汇编学习——iOS开发对arm64汇编的初步了解
  • Spring Boot项目(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot前后端分离)
  • 微服务架构实战:从服务拆分到RestTemplate远程调用
  • DINOv2
  • Spring框架(一)
  • Spring AI(3)——Chat Memory
  • skopeo工具详解
  • 成功案例:塔能精准节能技术为核心的工厂节能
  • GitHub打开缓慢甚至失败的解决办法
  • RTOS优先级翻转
  • 论文解读:MP-SfM: Monocular Surface Priors for Robust Structure-from-Motion
  • 22.第二阶段x64游戏实战-分析周围对象类型
  • SHAP分析!Transformer-BiLSTM组合模型SHAP分析,模型可解释不在发愁!
  • 分享一个可以用GPT打标的傻瓜式SD图片打标工具——辣椒炒肉图片打标助手
  • 04.three官方示例+编辑器+AI快速学习webgl_animation_skinning_additive_blending
  • 基于VSCode+PlatformIO环境的ESP8266的HX1838红外模块