谁能帮俺卡卡常....
  • 板块P1816 忠诚
  • 楼主嫐嬲巭孬
  • 当前回复6
  • 已保存回复6
  • 发布时间2020/6/9 20:29
  • 上次更新2023/11/7 00:55:56
查看原帖
谁能帮俺卡卡常....
267413
嫐嬲巭孬楼主2020/6/9 20:29

RT,树状数组在第10点T了

#include<bits/stdc++.h>
#define reg register
using namespace std;
int a[100003],c[100003]={0x7fffffff};
int main(){
	int n,m;cin>>n>>m;
	for( reg int i=1,y;i<=n;i++){
		scanf("%d",&y);
		a[i]=y,c[i]=y;
		for(int j=1;j<i&(-i);j<<=1)c[i]=min(c[i],c[i-j]);
	}
	for(reg int i=1,p,o;i<=m;i++){
		scanf("%d%d",&o,&p);
		int ans=0x7fffffff;
		while(1){
			ans=min(ans,a[p]);
			if(p==o)break;
			for(p--;p-o>=p&(-p);p-=p&(-p))ans=min(ans,c[p]);
		}
		cout<<ans<<" ";
	}
} 
2020/6/9 20:29
加载中...