zoukankan      html  css  js  c++  java
  • UVALIVE 4329 Ping pong

    大白上的题目

    #include <map>
    #include <set>
    #include <list>
    #include <cmath>
    #include <ctime>
    #include <deque>
    #include <stack>
    #include <queue>
    #include <cctype>
    #include <cstdio>
    #include <string>
    #include <vector>
    #include <climits>
    #include <cstdlib>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define LL long long
    #define PI 3.1415926535897932626
    using namespace std;
    int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);}
    #define MAXN 100010
    #define MAXD 20010
    int num[MAXN];
    int val[MAXD],lmin[MAXD],rmin[MAXD];
    int lowbit(int x) {return x & (-x);}
    int sum(int x)
    {
            int ret = 0;
            while (x > 0)
            {
                    ret += num[x];
                    x -= lowbit(x);
            }
            return ret;
    }
    void add(int x,int d)
    {
            while (x <= MAXN)
            {
                    num[x] += d;
                    x += lowbit(x);
            }
    }
    int main()
    {
            int T,n;
            scanf("%d",&T);
            while (T--)
            {
                    scanf("%d",&n);
                    memset(num,0,sizeof(num));
                    for (int i = 1; i <= n ; i++)
                    {
                            scanf("%d",&val[i]);
                            add(val[i],1);
                            lmin[i] = sum(val[i] - 1);
                    }
                    memset(num,0,sizeof(num));
                    for (int i = n ; i >= 1 ; i--)
                    {
                            add(val[i],1);
                            rmin[i] = sum(val[i] - 1);
                    }
                    LL ans = 0;
                    for (int i = 1; i <= n ; i++)
                            ans += lmin[i] * (n - i - rmin[i]) + (i - lmin[i] - 1) * rmin[i];
                    printf("%lld
    ",ans);
            }
            return 0;
    }
    

      

  • 相关阅读:
    PAT 1010. 一元多项式求导 (25)
    PAT 1009. 说反话 (20) JAVA
    PAT 1009. 说反话 (20)
    PAT 1007. 素数对猜想 (20)
    POJ 2752 Seek the Name, Seek the Fame KMP
    POJ 2406 Power Strings KMP
    ZOJ3811 Untrusted Patrol
    Codeforces Round #265 (Div. 2) 题解
    Topcoder SRM632 DIV2 解题报告
    Topcoder SRM631 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/Commence/p/4354438.html
Copyright © 2011-2022 走看看