关于P3865的可怜的56分
  • 板块题目总版
  • 楼主wlxs2006
  • 当前回复11
  • 已保存回复11
  • 发布时间2020/7/31 14:24
  • 上次更新2023/11/6 21:41:13
查看原帖
关于P3865的可怜的56分
242405
wlxs2006楼主2020/7/31 14:24
#include<iostream>
using namespace std;
const int logn=20;
const int N=100003;
int n,q,l,r,s,log[N],a[N],f[N][logn+3];
inline int read(){
	int x=0,f=1;char ch=getchar();
	while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
	while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
int main(){
	n=read();q=read();
	for(int i=1;i<=n;++i) a[i]=read();
	log[0]=-1;
	for(int i=1;i<=n;++i){
		f[i][0]=a[i];
		log[i]=log[i>>1]+1;
	}
	for(int j=1;j<=logn;++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]);
	while(q--){
		cin>>l>>r;
		s=log[r-l+1];
		cout<<max(f[l][s],f[r-(1<<s)+1][s])<<endl;
	}
return 0;
}

RT

TLE了5个点,求各路神仙帮帮蒟蒻

2020/7/31 14:24
加载中...