zoukankan      html  css  js  c++  java
  • FZU2236 第十四个目标 dp+树状数组优化

    分析:这种题烂大街,n^2,然后数据结构优化下到nlogn,离散化

    #include <cstdio>
    #include <cstring>
    #include <queue>
    #include <set>
    #include <map>
    #include <stack>
    #include <cstdlib>
    #include <algorithm>
    #include <vector>
    #include <cmath>
    using namespace std;
    typedef long long LL;
    typedef pair<int,int>pii;
    const int N=1e5+5;
    const int INF=0x3f3f3f3f;
    const int mod=1000000007;
    int p[N],n,a[N],c[N];
    int cnt;
    void add(int x,int t){
       for(int i=x;i<=cnt;i+=i&(-i))
         c[i]=(c[i]+t)%mod; 
    }
    int ask(int x){
        if(x==0)return 0;
        int ans=0;
        for(int i=x;i>0;i-=i&(-i))
          ans=(ans+c[i])%mod;
        return ans; 
    }
    int main(){
        while(~scanf("%d",&n)){
          for(int i=1;i<=n;++i)
            scanf("%d",&a[i]),p[i]=a[i];
          sort(p+1,p+1+n);
          cnt=unique(p+1,p+1+n)-p-1;
          memset(c,0,sizeof(c));
          int ans=0;
          for(int i=1;i<=n;++i){
             int pos=lower_bound(p+1,p+1+cnt,a[i])-p;
             int tmp=(ask(pos-1)+1)%mod;
             add(pos,tmp);
             ans=(ans+tmp)%mod;
          }
          printf("%d
    ",ans); 
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Hui之组件大全
    程序员交流学习平台
    PHP 常用框架
    常用浏览器
    设计必备工具、平台
    文档必备工具
    开发必备工具
    工作必备工具
    源码托管平台、软件
    前端常用框架
  • 原文地址:https://www.cnblogs.com/shuguangzw/p/5458623.html
Copyright © 2011-2022 走看看