zoukankan      html  css  js  c++  java
  • Frequency

    2

    1 2

    2

    1

    分析:偷看题解,慢慢写出来的。。。。

    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    #define range(i,a,b) for(int i=a;i<=b;++i)
    #define LL long long
    #define rerange(i,a,b) for(int i=a;i>=b;--i)
    #define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
    using namespace std;
    int n;
    LL ans[100005];
    pair<LL,LL>aa[100005];
    bool cmp(pair<LL,LL>a,pair<LL,LL>b){
        return a.second>b.second;
    }
    void init() {
        cin>>n;
        fill(ans,0);
        range(i,1,n){
            aa[i].first=i;
            cin>>aa[i].second;
        }
        sort(aa+1,aa+1+n,cmp);
        aa[n+1].second=0;
    }
    void solve(){
        LL tmp=1,num=aa[1].first;
        range(i,2,n+1){
            if(aa[i].second==aa[i-1].second)++tmp;
            else ans[num]+=(aa[i-1].second-aa[i].second)*(tmp++);
            if(aa[i].first<num)num=aa[i].first;
        }
        range(i,1,n)printf("%lld
    ",ans[i]);
    }
    int main() {
        init();
        solve();
        return 0;
    }
    View Code
  • 相关阅读:
    idea 使用 maven 下载 jar 包,出现证书校验问题问题
    接口抽象类区别,Java中IO,BIO、NIO、AIO区别以及Files的常用方法
    JIT编译器,Java平台的不同及Java一次编写,随处运行
    什么是Java虚拟机,JVM分配的不同类型内存区域是什么?
    AOP底层原理及AOP操作
    抽象类能使用 final 修饰吗?
    抽象类必须要有抽象方法吗?
    String 类的常用方法都有那些?
    普通类和抽象类有哪些区别?
    如何将字符串反转?
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9333696.html
Copyright © 2011-2022 走看看