zoukankan      html  css  js  c++  java
  • 洛谷P1318 积水面积

    题目描述

    一组正整数,分别表示由正方体叠起的柱子的高度。若某高度值为(x),表示由(x)个正立方的方块迭起(如下图,(0<=x<=5000))。找出所有可能积水的地方(图中蓝色部分),统计它们可能积水的面积总和(计算的是图中的横截面积。一个立方体的位置,为一个单位面积)。

    如图:柱子高度变化为 0 1 0 2 1 2 0 0 2 0

    图中蓝色部分为积水面积,共有(6)个单位面积积水。

    输入输出格式

    输入格式:

    两行,第一行n,表示有n个数((3<=n<=10000))。第2行连续n个数表示依次由正方体迭起的高度,保证首尾为(0)

    输出格式:

    一个数,可能积水的面积。

    输入输出样例

    输入样例#1:

    10
    0 1 0 2 1 2 0 0 2 0
    

    输出样例#1:

    6
    

    思路:挺水的一道题,但是第一遍写还是错了,我以为是今年noip T1,然而想错了,没认真读题,这个题其实就是看看一个位置的左右高度有不有差值,有的话就加上这个差值。

    代码:

    #include<iostream>
    #include<cstdio>
    #define maxn 10001
    using namespace std;
    int n,l[maxn],r[maxn],a[maxn],ans;
    int main() {
      scanf("%d",&n);
      for(int i=1;i<=n;++i) {
      	scanf("%d",&a[i]);
    	l[i]=max(l[i-1],a[i]); 
      } 
      for(int i=n;i>=1;--i) r[i]=max(r[i+1],a[i]);
      for(int i=1;i<=n;++i) 
      if(min(l[i],r[i])-a[i]>0) ans+=min(l[i],r[i])-a[i]; 
      printf("%d
    ",ans);
      return 0;
    }
    
  • 相关阅读:
    Django Rest Swagger生成api文档
    django 完整日志配置
    django解决跨域请求的问题
    Django REST framework 自定义字段
    Django model 定义属性
    mysql server has gone away的原因
    也谈时间管理和GTD
    MySQL之thread cache
    MySQL之aborted connections和aborted clients
    TokuDB的特点验证
  • 原文地址:https://www.cnblogs.com/grcyh/p/10134353.html
Copyright © 2011-2022 走看看