zoukankan      html  css  js  c++  java
  • HDU 5805

    题意:

    退役狗 NanoApe 滚回去学文化课啦!
    
    在数学课上,NanoApe 心痒痒又玩起了数列。他在纸上随便写了一个长度为 nn 的数列,他又根据心情随便删了一个数,这样他得到了一个新的数列,然后他计算出了所有相邻两数的差的绝对值的最大值。
    
    他当然知道这个最大值会随着他删了的数改变而改变,所以他想知道假如全部数被删除的概率是相等的话,差的绝对值的最大值的期望是多少。

    分析:删去一个数,能得到一个新结果,枚举删去的点,左右两边预处理好。

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int maxn = 100000+5;
    typedef long long LL;
    
    int a[maxn];
    int dl[maxn];
    int dr[maxn];
    
    int main()
    {
        //freopen("in.txt","r",stdin);
        int t;
        scanf("%d",&t);
        while(t--) {
            int n;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%d",&a[i]);
    
            dl[1] = 0;
            for(int i=2;i<=n;i++)
                dl[i] = max(dl[i-1],abs(a[i]-a[i-1]));
    
            dr[n] = 0;
            for(int i=n-1;i>=1;i--)
                dr[i] = max(dr[i+1],abs(a[i]-a[i+1]));
    
            LL ans = 0;
            ans +=dl[n-1];
            ans +=dr[1];
            int tmp;
            for(int i=2;i<n;i++) {
                tmp = max(dl[i-1],dr[i+1]);
                tmp = max(tmp,abs(a[i-1]-a[i+1]));
                //printf("%d
    ",tmp);
                ans +=tmp;
            }
    
            printf("%I64d
    ",ans);
    
        }
        return 0;
    }
    View Code
  • 相关阅读:
    SQL第一讲
    CSS3补充内容
    EXCEL数据导入SQL表的方法
    jq第四讲+实例
    jq第三讲
    jq第二讲
    安卓、苹果日历同步
    安卓、苹果手机备忘录同步
    服务器、客户端双认证
    今天我的博客正式开张了!
  • 原文地址:https://www.cnblogs.com/TreeDream/p/7231194.html
Copyright © 2011-2022 走看看