zoukankan      html  css  js  c++  java
  • CH4201楼兰图腾

    不知道再哪里炸了longlong,懒得想了,全开就好了

    #include <bits/stdc++.h>
    using namespace std;
    long long a[200100], c[200100], c1[200100], c2[200100], n;
    long long ans1 = 0, ans2 = 0;
    long long getsum(long long p) {
        long long ans = 0;
        for (; p; p -= p & -p) {
            ans += c[p];
        }
        return ans;
    }
    void insert1(long long id, long long p) {
        for (; id <= n + 1; id += id & -id) c1[id] += p;
    }
    void insert2(long long id, long long p) {
        for (; id <= n + 1; id += id & -id) c2[id] += p;
    }
    void insert(long long p) {
        for (long long i = p; i <= n + 1; i += i & -i) c[i] += 1;
    }
    long long getsum1(long long p) {
        long long ans = 0;
        for (; p; p -= p & -p) ans += c1[p];
        return ans;
    }
    long long getsum2(long long p) {
        long long ans = 0;
        for (; p; p -= p & -p) ans += c2[p];
        return ans;
    }
    int main() {
        // freopen("xf.in","r",stdin);
        // freopen("xf.out","w",stdout);
        scanf("%d", &n);
        for (long long i = 1; i <= n; i++) {
            scanf("%lld", &a[i]);
            ans1 += getsum1(a[i] - 1);
            ans2 += getsum2(n + 1) - getsum2(a[i]);
            insert(a[i]);
            insert1(a[i], getsum(n + 1) - getsum(a[i]));
            insert2(a[i], getsum(a[i] - 1));
        }
        printf("%lld %lld
    ", ans1, ans2);
        return 0;
    }
  • 相关阅读:
    调接口
    500 Internal Server Error
    htaccess跨域
    Header add Access-Control-Allow-Origin: *
    如何写jquery插件
    笔记
    互联网思维,谁的思维?
    超强js博客值得学习!!!
    学好js的步骤
    NOIP2000 进制转换
  • 原文地址:https://www.cnblogs.com/mybing/p/13608365.html
Copyright © 2011-2022 走看看