Luogu P1901 發射站 單調棧

2022-05-01 02:09:13 字數 809 閱讀 7452

題目鏈結

題目說明比自己矮的塔收不到自己的能量,擺明了就是單調棧唄。

把比自己矮的全都從棧裡彈出去,於是碰到第乙個比自己高的。讓他接受自己發射的能量。

當然由於發射站發射的能量有兩個方向,所以正反兩遍。

然後 放**。

#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 個其他發射站所接受,特別是為了安 全,每個發射站接...