洛谷 P1318 積水面積

2022-05-15 09:08:15 字數 634 閱讀 9609

將每層可積水的面積加起來

每層可積水的面積=左邊第乙個比他大右邊的所有空位+右邊第乙個比他大的左邊的所有空位-這一層的所有空位(他指當前高度

1 #include2

using

namespace

std;

3#define maxn 100000045

intn,h[maxn],tot,maxx;

6int

l[maxn],r[maxn],ans;

7bool

if_;

8char

ch;9 inline void read(int &now)

1015

16int

main()

1731

}32 if_=false;33

for(int i=n;i>=1;i--)

3440}41

for(int i=1;i<=n;i++)

42if(h[i];

43 ans+=s;44}

45 printf("

%d\n

",ans);

46return0;

47 }

view code

洛谷 P1318 積水面積

一組正整數,分別表示由正方體迭起的柱子的高度。若某高度值為x,表示由x個正立方的方塊迭起 如下圖,0 x 5000 找出所有可能積水的地方 圖中藍色部分 統計它們可能積水的面積總和 計算的是圖中的橫截面積。乙個立方體的位置,為乙個單位面積 如圖 柱子高度變化為 0 1 0 2 1 2 0 0 2 0...

洛谷P1318積水面積

講講思路 從雙向記錄兩邊到當前位置的最大的高度 設兩個陣列l i r i 分別記錄從前往後和從後往前到i位置的最大高度 然後在每個位置加上其能夠裝的水的量,見公式sum min l i r i hi i 當前位置水能裝的最大高度減去下面磚的高度即為當前位置能裝的水。上ac include const...

洛谷P1318 積水面積

一組正整數,分別表示由正方體疊起的柱子的高度。若某高度值為 x 表示由 x 個正立方的方塊迭起 如下圖,0 x 5000 找出所有可能積水的地方 圖中藍色部分 統計它們可能積水的面積總和 計算的是圖中的橫截面積。乙個立方體的位置,為乙個單位面積 如圖 柱子高度變化為 0 1 0 2 1 2 0 0 ...