社区讨论

太晚了,实在不知哪里有错?(勿喷)

P14479生成序列参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhz4e9s0
此快照首次捕获于
2025/11/15 01:16
4 个月前
此快照最后确认于
2025/11/16 13:54
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long n,q,l,r,a[1000017];
map<int,map<int,int>> idx;
int main(){
    cin>>n>>q;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=q;i++){
        cin>>l>>r;
        idx.clear();
        long long cnt=0,lst=r;//,len=(r-l+1+1)/2;
        for(int j=l;j<=r;j++){
            idx[j-l+1][a[j]]=1;
        }
        for(int j=((lst-l+1)+1)/2+l-1;j>l;j--){
            for(int k=j;k<=lst;k++){
                if(k-j+1>=j) break;
                if(idx[(k-j)+1][a[k]]==1){
                    cnt++;
                    lst=j-1;
                    // len=(lst-l+1)/2;
                    break;
                }
            }
        }
        cout<<cnt<<endl;
    }
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...