90分
  • 板块P1816 忠诚
  • 楼主wbl1
  • 当前回复15
  • 已保存回复17
  • 发布时间2025/2/5 10:56
  • 上次更新2025/2/5 15:04:03
查看原帖
90分
1349297
wbl1楼主2025/2/5 10:56

st表,麻烦看一下

#include <bits/stdc++.h>
using namespace std;
int n,m,l,r,f[100005][20];
int main(){
    cin >> n >> m;
    for(int i = 1;i <= n;i++) cin >> f[i][0];

	for(int j = 1;(1 << j) <= m;j++)
		for(int i = 1;i + (1 << j) - 1 <= m;i++)
			f[i][j] = min(f[i][j - 1],f[i + (1 << (j - 1))][j - 1]);

	for(int i = 1;i <= m;i++){
	    cin >> l >> r;
		int k = log2(r - l + 1);
		cout << min(f[l][k],f[r - (1 << k) + 1][k]) << " ";
	}
    return 0;
}
2025/2/5 10:56
加载中...