栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3145 Harmony Forever

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3145 Harmony Forever

#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>#include<cmath>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;const int N=500000+10;const int limt=1000;int minv[N<<2],n;int ti[N],vi[N],sz;void pushup(int rt){    minv[rt]=min(minv[rt<<1],minv[rt<<1|1]);}void update(int L,int R,int v,int l,int r,int rt){    if (L<=l && r<=R){        minv[rt]=v;        return;    }    int m=(l+r)>>1;    if (L<=m) update(L,R,v,lson);    if (m< R) update(L,R,v,rson);    pushup(rt);}void query1(int y){    int ret=-1,tmp=-1;     for (int i=sz-1;i>=0;i--){        if (vi[i]%y==0) { ret=i;break;        }        if (tmp==-1 || (vi[i]%y)<tmp) { tmp=vi[i]%y;ret=i;        }    }    printf("%dn",ret+(ret==-1?0:1));}int query3(int L,int R,int l,int r,int rt){    if(L<=l && r<=R){        return minv[rt];    }    int m=(l+r)>>1;    int t1,t2;    t1=t2=N;    if (L<=m) t1=query3(L,R,lson);    if (m< R) t2=query3(L,R,rson);     return min(t1,t2);   }void query2(int y){    int t,ret=-1;    for (int i=0;i<N;i+=y){        if (i+y-1>N) t=query3(i,N-1,0,N-1,1);        else t=query3(i,i+y-1,0,N-1,1);        if (t==N) continue;          if (t%y<ret%y || ret==-1) ret=t;        else if (t%y==ret%y && ti[t]>ti[ret]) ret=t;    }    if (ret==-1) printf("-1n");    else printf("%dn",ti[ret]);}int main(){    int T,cas=0;    while (~scanf("%d",&n),n){        if (cas!=0 && n!=0) printf("n");        sz=0;        for (int i=0;i<(N<<2);i++) minv[i]=N;        printf("Case %d:n",++cas);        for (int i=0;i<n;i++){ char s[10];int x; scanf("%s%d",s,&x); if (s[0]=='A'){     if (x<limt) query1(x);     else query2(x); }else if (s[0]=='B'){     vi[sz]=x;     ti[x]=sz+1;         update(x,x,x,0,N-1,1);     sz++; }        }    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376842.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号