广东工业大学2016校赛决赛重现——E积木积水(方法据说很多)
来源:互联网 发布:aes解密算法 编辑:程序博客网 时间:2024/04/30 08:19
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
按照蔡SIR的方法(理解估计有问题,复杂度应该比他的更高...)刚开始TLE几次,用输入外挂也TLE,把同步关了却1984MS险过.....本渣以后再也不敢用输入外挂了。有空想想其他方法做吧。
代码:
#include<iostream>#include<algorithm>#include<cstdlib>#include<sstream>#include<cstring>#include<cstdio>#include<string>#include<deque>#include<cmath>#include<queue>#include<set>#include<map>using namespace std;int r[1000010];int high[1000010];int l[1000010];int main (void){ios::sync_with_stdio(false);int n,i,j,T;cin>>T;while (T--){cin>>n;int maxm=-1;for (i=1; i<=n; i++){cin>>high[i];l[i]=max(l[i-1],high[i]);//从前到后高度更新}for (i=n; i>=1; i--){r[i]=max(high[i],r[i+1]);//从后往前高度更新}long long ans=0;//for (i=1; i<=n; i++){ans=ans+min(r[i],l[i])-high[i];}cout<<ans<<endl;memset(r,0,sizeof(r));memset(l,0,sizeof(l));memset(high,0,sizeof(high));}return 0;}
0 0
- 广东工业大学2016校赛决赛重现——E积木积水(方法据说很多)
- 广东工业大学2016校赛 Problem E: 积木积水
- 积木积水(广东工业大学校赛决赛2016E题)
- 广工校赛决赛Problem E: 积木积水
- 广东工业大学2016校赛----积木积水【模拟】
- 广东工业大学(GDUT)2016校赛决赛
- gdutProblem E: 积木积水
- 广东工业大学2016校赛决赛-网络赛 D E F G 题解
- 西南交通大学第十三届ACM决赛-重现赛-E(DFS)
- 广东工业大学2016校赛决赛 A: Krito的讨伐
- 广东工业大学2016校赛决赛Problem BSward Art Online(分组背包)
- 积木积水
- 补题 Problem E: 积木积水 分治算法
- 广东工业大学2016校赛决赛-网络赛 A题 Krito的讨伐
- 最大公约数和最小公倍数___(广东工业大学2015校赛决赛)
- 广东工业大学2017新生赛(决赛)-网络同步赛
- 广东工业大学2017新生赛(决赛)-网络同步赛
- 广东工业大学2017新生赛(决赛)-网络同步赛
- MATLAB一个figure中显示多幅图像,并缩小空白区域
- Android 多线程及线程通信
- 广东工业大学2016校赛决赛-网络赛 D E F G 题解
- 树的遍历及相关题目
- hdu 1847 Good Luck in CET-4 Everybody!
- 广东工业大学2016校赛决赛重现——E积木积水(方法据说很多)
- C++实验3-个人所得税计算器
- 第三次实验,本月有几天
- C++作业3——本月有几天、定期存款利息计算器、多分数段函数求值
- MATLAB读取文件夹下所有图片
- 代理模式(java语言实现)
- liunx centos 如何添加一个新的网卡
- leetcode 17 Letter Combinations of a Phone Number
- 什么是面向对象 什么是面向过程 面向对象和面向过程的区别