70分求助

P1318 积水面积

你这个代码我看不懂。。。 因为我自己也没有写过,所以想了一下之后看了一下题解 目前有两种解法是我比较喜欢的 一种是从前往后从后往前都搜一遍,找左低右高的容器(就是我想到的) 另外一种是用从下往上一层层搜,然后减去石柱的面积 ### (抄一下题解代码) ``` #include<algorithm> using namespace std; int a[10001],maxx=-1;//a是输入,maxx是最大高度 int main() { int n,ans=0,s=0; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; maxx=max(maxx,a[i]); s+=a[i]; } for(int i=1;i<=maxx;i++) { int head=1,tail=n; while(a[head]<i) head+=1; while(a[tail]<i) tail-=1; ans+=tail-head+1; } cout<<ans-s; return 0; } ```
by Pomelo_VB @ 2023-10-29 10:13:21


@[Pomelo_VB](/user/1112054) 现在才看到,两周前打的,已在同学指导下AC,感谢
by wangborui123 @ 2023-11-10 20:26:00


|