• BZOJ1303: [CQOI2009]中位数图


    #include<cstdio>
    #include<cstdlib>
    #include<algorithm>
    #include<cstring>
    #include<vector>
    #define MAXN 100000+10
    #define a(x) a[x+MAXN]
    #define b(x) b[x+MAXN]
    using namespace std;
    int a[MAXN<<1],b[MAXN<<1];
    int n,m,p;
    int s[MAXN];
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            scanf("%d",&s[i]);
            if(s[i]==m){
                p=i;
            }    
        }
        int fe=0,bi=0;
        a(0)++;
        for(int i=p-1;i>=1;i--){
            if(s[i]<m)fe++;
            else bi++;
            a(fe-bi)++;
        }
        fe=0,bi=0;
        b(0)++;
        for(int i=p+1;i<=n;i++){
            if(s[i]<m)fe++;
            else bi++;
            b(fe-bi)++;
        }
        int ans=0;
        for(int i=-n;i<=n;i++){
            ans+=a(i)*b(-i);
        }
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    G
    F
    E
    D
    机器学习第二次作业
    机器学习第一次作业
    机器学习作业一
    软工实践个人总结
    第11组 Beta版本演示
    第11组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/w-h-h/p/8060363.html
Copyright © 2020-2023  润新知