zoukankan      html  css  js  c++  java
  • hdu 2227

    和之前的hdu3030都快一样了

    可以参考之前的题解

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int maxn = 1e5+5;
    long long n;
    long long a[maxn];
    long long b[maxn];
    long long c[maxn];
    long long mod = 1e9+7;
    void add(long long c[],long long i,long long j);
    long long getsum(long long c[],long long i);
    int main()
    {
        int i,j,k;
        while(scanf("%lld",&n) != EOF)
        {
            memset(c, 0, sizeof(c));
            for(i=1;i<=n;++i)
            {
                scanf("%lld",a+i);
                b[i] = a[i];
            }
            sort(b+1,b+n+1);
            long long sum = 0;
            for(i=1;i<=n;++i)
            {
                long long ans=0;
                long long pos=lower_bound(b+1,b+n+1,a[i]) - b;
                ans = getsum(c,pos);
                sum += ans+1;
                sum %= mod;
                add(c, pos, ans+1);
            }
            printf("%lld
    ",sum);
        }
    }
    long long lowbit(long long k)
    {
        return k&(-k);
    }
    void add(long long c[],long long i,long long j)
    {
        while(i<=n)
        {
            c[i] += j;
            c[i] %= mod;
            i += lowbit(i);
        }
    }
    long long getsum(long long c[],long long i)
    {
        long long sum = 0;
        while(i > 0)
        {
            sum += c[i];
            sum %= mod;
            i -= lowbit(i);
        }
        return sum;
    }
  • 相关阅读:
    css3skew
    github如何使用
    互联网历史
    html知识点
    人类的终极目标是什么?
    如何提高自我学习能力?
    为什么富人越富,穷人越穷?
    关于游戏小说与学习知识的不同
    关于写代码的一点体会
    监听多行文本框字数输入
  • 原文地址:https://www.cnblogs.com/mltang/p/8948582.html
Copyright © 2011-2022 走看看