• 数据结构题


      链接:https://ac.nowcoder.com/acm/contest/917/H
    来源:牛客网

    get(l,r,x)表示求a[l]~a[r]中x出现了几次,他很快推出了规律,

    但正当他把这道题录入电脑是发现作为一个蒟蒻的他不会打latex也没找到数学符号(主要是懒),

    所以他省略了那个∑式子,于是,题面变为了求get(l,r,x)*get(l1,r1,x)的值了.

    为了防数据过大,你要对20180623取模

    不保证l<r,l1<r1,遇到这种情况,请先交换一下

    注:本系列题不按难度排序哦

    输入描述:

    第一行一个n,m 接下来一行n个数表示a[i] 接下来m行,每行l,r,l1,r1,x,表示求get(l,r,x)*get(l1,r1,x)

    输出描述:

    3×m行,先输出get(l,r,x),再输出get(l1,r1,x),再输出get(l,r,x)*get(l1,r1,x)
    示例1

    输入

    复制
    5 1
    2 2 2 2 2
    1 5 1 3 2

    输出

    复制
    5
    3
    15


    维护区间内 k数的个数
    正解是主席树

    可以用二分解决。。
    #include<bits/stdc++.h>
    using namespace std;
    //input by bxd
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define repp(i,a,b) for(int i=(a);i>=(b);--i)
    #define RI(n) scanf("%d",&(n))
    #define RII(n,m) scanf("%d%d",&n,&m)
    #define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
    #define RS(s) scanf("%s",s);
    #define ll long long
    #define pb push_back
    #define inf 0x3f3f3f3f
    #define CLR(A,v)  memset(A,v,sizeof A)
    //////////////////////////////////
    const int mod=20180623;
    const int N=1e5+5;
    int n,m;
    vector<int>V[N];
    
    int main()
    {
        RII(n,m);
        rep(i,1,n)
        {
            int x;RI(x);
            V[x].pb(i);
        }
        rep(i,1,m)
        {
            int u,v,u1,v1,k;
            RIII(u,v,u1);RII(v1,k);
            if(u>v)swap(u,v);
            if(u1>v1)swap(u1,v1);
            int ans1=upper_bound(V[k].begin(),V[k].end(),v)-lower_bound(V[k].begin(),V[k].end(),u);
            ans1%=mod;
            int ans2=upper_bound(V[k].begin(),V[k].end(),v1)-lower_bound(V[k].begin(),V[k].end(),u1);
            ans2%=mod;
            cout<<ans1<<endl<<ans2<<endl<<ans1*ans2%mod<<endl;
    
        }
    
        return 0;
    }
    View Code








  • 相关阅读:
    Vue学习笔记-2
    versionCompare 版本号比较工具
    Vue学习笔记-1
    工作机会
    PAT题目AC汇总(待补全)
    sqli-labs-master 第二关+第三关+第四关
    sqli-labs-master 盲注+第五关+第六关
    Java面向对象--equeal和==
    Java面向对象--object
    Java面向对象--成员变量的初始值
  • 原文地址:https://www.cnblogs.com/bxd123/p/11027251.html
Copyright © 2020-2023  润新知