題目鏈結
題目說明比自己矮的塔收不到自己的能量,擺明了就是單調棧唄。
把比自己矮的全都從棧裡彈出去,於是碰到第乙個比自己高的。讓他接受自己發射的能量。
當然由於發射站發射的能量有兩個方向,所以正反兩遍。
然後 放**。
#include#include#include
using
namespace
std;
long
long
ans;
inline
long
long max(long
long a,long
long b)
const
int size=2000000
;long
long
stack[size],top;
inline
long
long
read()
while
(isdigit(ch))
return num*f;
}struct
fileque[size];
intmain()
for(int i=1;i<=n;++i)
top=0
;
for(int i=n;i>0;--i)
for(int i=1;i<=n;++i) ans=max(ans,que[i].c);
printf(
"%lld
",ans);
return0;
}
P1901 發射站 單調棧
題目描述 某地有 n 個能量發射站排成一行,每個發射站 i 都有不相同的高度 hi,並能向兩邊 當 然兩端的只能向一邊 同時發射能量值為 vi 的能量,並且發出的能量只被兩邊最近的且比 它高的發射站接收。顯然,每個發射站發來的能量有可能被 0 或 1 或 2 個其他發射站所接受,特別是為了安 全,每...
P1901 發射站(單調棧)
假設當前有 a 1 7 a 2 5 a 3 4 三個發射塔,現在在後面加乙個發射塔,高度為 a 4 6a 4 要接受 a 3 a 2 這兩個發射塔的訊號,以及將自身的訊號發射給 a 1 很明顯利用單調棧,將 a 3 出棧,再將 a 2 出棧,最後棧內只剩下 a 1 a 4 最後統計每乙個位置處的能量...
洛谷P1901 發射站(單調棧)
某地有 n 個能量發射站排成一行,每個發射站 i 都有不相同的高度 hi,並能向兩邊 當 然兩端的只能向一邊 同時發射能量值為 vi 的能量,並且發出的能量只被兩邊最近的且比 它高的發射站接收。顯然,每個發射站發來的能量有可能被 0 或 1 或 2 個其他發射站所接受,特別是為了安 全,每個發射站接...