題目傳送門
以i
結尾的f[i]
,滑動視窗的區間是[i - m,i - 1]
,單調佇列維護的是該區間的最小值,由於滑動視窗不包含i
,因此f[i]
需要在while
上方進行更新
#include using namespace std;
const int inf = 0x3f3f3f3f;
const int n = 200010;
int f[n];
int w[n], n, m;
int main()
#include using namespace std;
const int n = 200010;
const int inf = 0x3f3f3f3f;
int f[n];
int w[n], n, m;
int q[n];
int main()
//同樣城市也算乙個代價為0的燈塔,城市前m的燈塔至少有個點亮
int res = inf;
for (int i = n + 1 - m; i <= n; i++)
res = min(res, f[i]);
cout << res << endl;
return 0;
}
AcWing 1089 烽火傳遞
link 陣列沒開夠,爆零兩行淚 longlong開成int,爆零兩行淚 多組忘清空,爆零兩行淚 dp 沒初值,爆零兩行淚 深搜沒邊界,爆零兩行淚 廣搜忘出隊,爆零兩行淚 輸入沒加 爆零兩行淚 模數沒看見,爆零兩行淚 1 不輸出,爆零兩行淚 越界不特判,爆零兩行淚 線段樹開一倍,爆零兩行淚 無向變有...
AcWing 1089 烽火傳遞
link 陣列沒開夠,爆零兩行淚 longlong開成int,爆零兩行淚 多組忘清空,爆零兩行淚 dp 沒初值,爆零兩行淚 深搜沒邊界,爆零兩行淚 廣搜忘出隊,爆零兩行淚 輸入沒加 爆零兩行淚 模數沒看見,爆零兩行淚 1 不輸出,爆零兩行淚 越界不特判,爆零兩行淚 線段樹開一倍,爆零兩行淚 無向變有...
烽火傳遞 單調佇列
烽火台又稱烽燧,是重要的軍事防禦設施,一般建在險要或交通要道上。一旦有敵情發生,白天燃燒柴草,通過濃煙表達資訊 夜晚燃燒乾柴,以火光傳遞軍情,在某兩座城市之間有n個烽火台,每個烽火台發出訊號都有一定代價。為了使情報準確地傳遞,在連續m個烽火台中至少要有乙個發出訊號。請計算總共最少花費多少代價,才能使...