登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
ST表学习笔记
ST表学习笔记
[ 复制链接 ]
每捎京
5 小时前
前置知识:倍增
其实倍增就是二进制拆分,因为有的数可能很大,我们按照2的幂次去查询,就能用 \(log_2n\) 的时间复杂度求解
ST 表
创建
ST 表运用的是倍增思想,我们可以用 \(O(nlogn)\) 的时间创建一个二维表,根据倍增思想就可以实现 \(O(1)\) 的区间最值查询(RMQ 查询)
我们这样定义:
定义 \(dp[i,j]\) 表示 \([i,i+2^j-1]\) 区间的最值,易得这个区间的长度为 $ 2^j$ ,那么根据倍增,这个区间可以分成两个长度为 $ 2^{j-1} $ 的区间,使用递推求解,递推式如下(max 可换成 min):
\[dp[i,j]=\max(dp[i,j-1],dp[i+2^{j-1},j-1])\]
那么我们可以得出模板代码:
[code]void init_st(){ int k=log2(n); for(int i=1;i
ST
学习
笔记
相关帖子
HTML学习日记
论文分享-ETEGRec:端到端可学习的物品分词与生成式推荐
Obsidian笔记同步:基于Cloudflare对象存储
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(四)
平面几何的公理和定理笔记
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(五)
一生一芯学习:多道程序 yield-os.c
数据结构-分块学习笔记
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
HTML学习日记
0
474
季卓然
2025-10-10
业界
论文分享-ETEGRec:端到端可学习的物品分词与生成式推荐
0
430
雌鲳签
2025-10-11
安全
Obsidian笔记同步:基于Cloudflare对象存储
0
529
赖秀竹
2025-10-11
业界
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(四)
0
307
决台
2025-10-12
安全
平面几何的公理和定理笔记
0
532
颜才
2025-10-12
业界
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
0
814
龙骋唧
2025-10-12
业界
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(五)
0
557
列蜜瘘
2025-10-12
业界
一生一芯学习:多道程序 yield-os.c
0
710
岳娅纯
2025-10-12
安全
数据结构-分块学习笔记
0
700
柏雅云
2025-10-12
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
业界
程序
签约作者
程序园优秀签约作者
发帖
每捎京
5 小时前
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993678
4
富账慕
10004
5
刎唇
9993
6
柴古香
9989
7
烯八
9972
8
匝抽
9986
9
筒濂
9977
10
孙淼淼
9986
查看更多