码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 P1318 【积水面积】题解

时间:2018-04-07 13:51:43      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:二维   amp   class   post   ``   中间   意思   out   max   

其实想通了的话,本题并不难,关键是要**把二维分为多个一维**(大概就是这个意思,表达能力不太好,见谅!)
本来一看,以为会超时,可能是数据较水吧,用这种方法还挺快的(至少没有超时),下面是程序:
```cpp
#include<bits/stdc++.h>

int n,a[10001],ans,maxnum;

int main(){

cin>>n;
for(int i = 1;i<=n;i++){
cin>>a[i];
maxnum = max(maxnum,a[i]);
}
for(int i = 1;i<=maxnum;i++){
int x = 1,y;
while(x<=n){
for(;x<=n;x++)
if(a[x]>=i) break;
for(y = x+1;y<=n;y++)
if(a[y]>=i) break;
if(x<y&&y<=n&&x<=n) ans+=y-x-1;
x = y;
}
}
cout<<ans;
return 0;
}

```
当然,这里还可以再优化,比如可以把中间x,y连续的部分滤掉,这里只提供一下思路,就不再写了(懒╮(╯﹏╰)╭)
第一次写题解,好紧张o(>﹏<)o
有什么问题或建议欢迎评论~~~

洛谷 P1318 【积水面积】题解

标签:二维   amp   class   post   ``   中间   意思   out   max   

原文地址:https://www.cnblogs.com/ctc20050412/p/8732808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!