为什么没有ST表的题解?
  • 板块P2032 扫描
  • 楼主Parsley_
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/1/27 15:39
  • 上次更新2023/10/28 10:45:26
查看原帖
为什么没有ST表的题解?
495473
Parsley_楼主2022/1/27 15:39

我试了试ST表也能AC

#include <bits/stdc++.h>
#define NOSYNC ios::sync_with_stdio(false)
using namespace std;
int logs[2000010];
int f[2000010][26];
int main()
{
	NOSYNC;
	int n, k;
	cin >> n >> k;
	logs[0] = -1;
	for (int i = 1; i <= n; i++)
	{
		cin >> f[i][0];
		logs[i] = logs[i / 2] + 1;
	}
	for (int j = 1; j <= 25; j++)
	{
		for (int i = 1; i + (1 << j) - 1 <= n; i++)
		{
			f[i][j] = max(f[i][j - 1], f[i + (1 << j - 1)][j - 1]);
		}
	}
	
	int l, r;
	for (l = 1, r = k;r <= n; l++,r++)
	{
		int ss = logs[r - l + 1];
		cout << max(f[l][ss], f[r - (1 << ss) + 1][ss]) << endl;
	}
	
	return 0;
}
2022/1/27 15:39
加载中...