文章目录 前言 一、输入并预处理lg数组 二、更新最值 三、查询(query) 总结 前言 所谓的ST表,其实就是用递归思想以尽量实现O(1)的查询,当然不可能直接查询,必须要先预处理一下。 一、输入并预处理lg数组 cin>>n>>m; lg[0]=-1; for(i=1;i<=n;++i) { scanf("%d",&st[i][0]); lg[i]=lg[i>>1]+1; } 二、更新最值 for(j=1;j<22;++j) for(i=1;i+(1<<j)-