码迷,mamicode.com
首页 > 其他好文 > 详细

[LOJ538]数列递推

时间:2017-11-05 19:12:54      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:理想   min   std   lin   style   blog   text   max   continue   

注意到常数线性递推数列是以指数的速度增长的,所以对每个询问我们暴力找到哪一项开始单调,再判断一下就好了

我没有删文件读写,真好玩

考完期中考后已经丧失理想了,现在出现这种错误,更加丧失理想fk

#include<stdio.h>
#define ll long long
#define inf 9223372036854775807ll
ll a[1000010];
int s[100010];
int main(){
	int n,q,i,len,minp,maxp;
	ll k,minans,maxans,totmin,totmax;
	scanf("%d",&n);
	for(i=1;i<=n;i++)scanf("%d",s+i);
	scanf("%d",&q);
	while(q--){
		scanf("%lld%lld%lld",a,a+1,&k);
		if(a[0]==0&&a[1]==0){
			printf("%d %d\n",s[1],s[1]);
			continue;
		}
		len=1;
		while(a[len]*a[len-1]<0){
			len++;
			a[len]=a[len-1]*k+a[len-2];
		}
		if(a[len]>0||a[len-1]>0){
			totmax=-inf;
			for(i=0;i<=len;i++){
				if(a[i]>totmax)totmax=a[i];
			}
			while(a[len]<=totmax){
				len++;
				a[len]=a[len-1]*k+a[len-2];
			}
			if(s[n]<=len){
				minans=inf;
				maxans=-inf;
				for(i=1;i<=n;i++){
					if(a[s[i]]<minans){
						minans=a[s[i]];
						minp=s[i];
					}
					if(a[s[i]]>maxans){
						maxans=a[s[i]];
						maxp=s[i];
					}
				}
			}else if(s[1]>=len){
				minp=s[1];
				maxp=s[n];
			}else{
				maxp=s[n];
				minans=inf;
				for(i=1;s[i]<=len;i++){
					if(a[s[i]]<minans){
						minans=a[s[i]];
						minp=s[i];
					}
				}
			}
		}else{
			totmin=inf;
			for(i=0;i<=len;i++){
				if(a[i]<totmin)totmin=a[i];
			}
			while(a[len]>=totmin){
				len++;
				a[len]=a[len-1]*k+a[len-2];
			}
			if(s[n]<=len){
				minans=inf;
				maxans=-inf;
				for(i=1;i<=n;i++){
					if(a[s[i]]<minans){
						minans=a[s[i]];
						minp=s[i];
					}
					if(a[s[i]]>maxans){
						maxans=a[s[i]];
						maxp=s[i];
					}
				}
			}else if(s[1]>=len){
				minp=s[n];
				maxp=s[1];
			}else{
				minp=s[n];
				maxans=-inf;
				for(i=1;s[i]<=len;i++){
					if(a[s[i]]>maxans){
						maxans=a[s[i]];
						maxp=s[i];
					}
				}
			}
		}
		printf("%d %d\n",maxp,minp);
	}
}

[LOJ538]数列递推

标签:理想   min   std   lin   style   blog   text   max   continue   

原文地址:http://www.cnblogs.com/jefflyy/p/7788133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!