首页 > 作文

【题意转化+线段树】L – GTY‘s gay friends

更新时间:2023-04-09 00:45:01 阅读: 评论:0

题面

/d/file/titlepic/showproblem.php /> (理论上主席树和st表都能做,但是空间开不下)

代码

#include <bits/stdc++.h>#defin单身美好e ls k<<1#define rs k<<1|1using namespace std;typedef long long ll;typedef pair<int,int>P;typedef unsigned long long ull;const int maxn=1e6+100;int node[放大镜成什么像maxn<<2],pre[maxn],pla[maxn];ull sum[maxn];int n,m;void build(int k,int l,int r){     if(l==r)    {         node[k]=pre[l];        return ;    }    int mid=l+r>>1;    build(ls,l,mid);    build(rs,mid+1,r);    node[k]=max(node[ls],node[rs]);}int query(int k,int ql,int qr,int l,int r){     if(ql<=l&&r<=qr)        return node[k];    int mid=l+r>>1;    int ans=0;    if(ql<=mid)        ans=max宣传资料(ans,query(ls,ql,qr,l,mid));    if(qr>mid)        ans=max(ans,querywannacrypt(rs,ql,qr,mid+1,r));    return ans;}int main(){     while(scanf("%d%d",&n,&m)!=EOF)    {         memt(pla,0,sizeof(pla));        memt(sum,0,sizeof(sum));        for(int i=1,x;i<=n;i++)        {             scanf("%d",&x);            sum[i]=sum[i-1]+x;            pre[i]=pla[x];            pla[x]=i;        }        build(1,1,n);        while(m--)        {             int l,r;         abac的四字词语   scanf("%d%d",&l,&r);            int len=r-l+1;            if(sum[r]-sum[l-1]==1ll*len*(len+1)/2&&query(1,l,r,1,n)<l)                printf("YES\n");            el                printf("NO\n");        }    }    return 0;}

本文地址:https://blog.csdn.net/qq_46129590/article/details/111014144

本文发布于:2023-04-09 00:44:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/43fecfde0e649fd7491cd2b286896456.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:【题意转化+线段树】L – GTY‘s gay friends.doc

本文 PDF 下载地址:【题意转化+线段树】L – GTY‘s gay friends.pdf

下一篇:返回列表
标签:区间   我们可以   位置   题意
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图