积木积水(广东工业大学校赛决赛2016E题)

这篇博客介绍了广东工业大学校赛决赛2016E题——积木积水问题。题目要求计算二维简化后的积木结构在下雨时会积累多少积水。输入包含测试样例数量、积木列数和每列积木的数量。解决方案关键在于维护积木左侧到最高点的不减性和右侧到最高点的不增性,通过比较找出最大高度并计算差值。博主建议使用scanf提高输入效率,并提醒参赛者保持冷静,多做练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

Problem E: 积木积水


Description
现有一堆边长为1的已经放置好的积木,小明(对的,你没看错,的确是陪伴我们成长的那个小明)想知道当下雨天来时会有多少积水。小明又是如此地喜欢二次元,于是他把这个三维的现实问题简化成二维的问题。设雨量无穷、积木不透水、积木间无缝连接,问在这个二次元的世界里,已放置好的积木会有多少单位的积水量?

这里写图片描述


Input
第一行包含一个整数T(T≤100),表示接下来的测试样例个数。 每个测试样例有两行组成: 第一行包含一个整数N(N≤1e6),表示积木的列数; 第二行包含N个整数Ai(Ai≤1e6),表示第i列积木的个数。


Output
每个样例输出一行,包含一个整数,为题目所求。


Sample Input

1
11
6 2 2 4 2 0 3 4 4 5 1

Sample Output

19

题目大意:

积木积水,不减不增

分析思路:

主要是维护左边到最高的不减性,最高到右边的不增性
只需要找到积木中最大的那个,在分别从两边向其接近,一遇到比当前高度要低的就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值