直方图的水量

问题描述:给定一个直方图,假设有人从上面源源不断地倒水,最后直方图能存多少水量?

输入格式

第1行:1个正整数N,不超过10000。

第二行:N个整数,范围[0,100000]。

输出格式

输出一个整数。

样例输入

12

样例输出

6

这题非常的经典,有多种方法解决,我今天给大家看的较为简单的逐位算法,代码如下

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100009],b[100009],c[100009],sum;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>=b[i-1])b[i]=a[i];
        else b[i]=b[i-1];
    }
    for(int i=n;i>=1;i--)
    {
        if(a[i]>=c[i+1])c[i]=a[i];
        else c[i]=c[i+1];
    }
    for(int i=1;i<=n;i++)
    {
        m=min(b[i],c[i]);
        sum+=m-a[i];
    }
    cout<<sum;
    return 0;
}

记得点个关注哦

waterConsump.csv 为用户的用水量数据,数据中有编 号为1-200 的200 位用户,DATE 表示时间,如2017/1/1表示2017 年1 月1 日,NUM 为用量单位。请完成以下工作 : 1 、将数据进行透视表操作,行为用户编号,列为日期、 值为用户每日用水量。 2 、对数据中的异常数据进行识别并处理。 3 、统计每个用户用水数据的基本统计量,包括:最大 值、最小值、均值、中位数、和、方差、偏度、峰度。 4 、每个用户用水数据按日差分,并求取差分结果的基 本统计量,统计量同3。 5 、求取每个用户的20% 分位数。 6 、每个用户按季度求和并差分(按照日历的一周,年 度分开),并求取差分结果的基本统计量,统计量同3。 7 、统计每个用户的日用水量在其最大值0.8 倍以上的次 数。 8 、求取每个用户日为最大值/ 最小值的索引月份,若最 大值/ 最小值存在于多个月份中,则输出含有最大值/最 最 小值最多的那个月份。如1 号用户的在最小值为0 ,12个 月每个月都有0 ,则看哪个月的0 最多。 9、 求取每个用户六七八月用水量和,与二三四月用水 量和的比值,最大值的比值,最小值的比值,均值(日均水量)的比值。 10 、合并上述特征。 11 、根据2015-2016 年用水量数据,预测编号1-200 的用 户, ,2017 年每个月用水量,并对预测值进行评价
最新发布
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值