2883 烽火傳遞 動態規劃 單調佇列

2021-09-07 08:34:59 字數 514 閱讀 3348

烽火台又稱烽燧,是重要的軍事防禦設施,一般建在險要或交通要道上。一旦有敵情發生,白天燃燒柴草,通過濃煙表達資訊;夜晚燃燒乾柴,以火光傳遞軍情,在某兩座城市之間有 n 個烽火台,每個烽火台發出訊號都有一定代價。為了使情報準確地傳遞,在連續 m 個烽火台中至少要有乙個發出訊號。請計算總共最少花費多少代價,才能使敵軍來襲之時,情報能在這兩座城市之間準確傳遞。

對於50%的資料,m≤n≤1,000 。 對於100%的資料,m≤n≤100,000,wi≤100。

由於題目要求連續m個烽火台中至少要有乙個發出訊號,很容易得出dp

轉移方程:f[i]=min(f[j]:i−m#include using namespace std;

int n,m,h=1,t,ans=10000010;

int a[100010],f[100010],c[100010];

int main()

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

if (c[i]printf("%d\n",ans);

}

動態規劃 單調佇列維護 烽火傳遞

用q i 表示到i前面符合條件的最小代價為多少 要取到i 單調佇列維護區間中q i 的最小值 l,r表示單調佇列的隊首與隊尾 從1到n迴圈,若q qj r q i 隊尾比當前大 彈出隊尾將當前放入 若qj l 最後更新一下q i q l a i 符合要求區間中最小值加當前值為當前最小值 答案在n n...

ssl2883 烽火傳遞 單調佇列優化 DP

烽火台又稱烽燧,是重要的軍事防禦設施,一般建在險要或交通要道上。一旦有敵情發生,白天燃燒柴草,通過濃煙表達資訊 夜晚燃燒乾柴,以火光傳遞軍情,在某兩座城市之間有 n 個烽火台,每個烽火台發出訊號都有一定代價。為了使情報準確地傳遞,在連續 m 個烽火台中至少要有乙個發出訊號。請計算總共最少花費多少代價...

SSLOJ 2883 烽火傳遞

題目 description 烽火台又稱烽燧,是重要的軍事防禦設施,一般建在險要或交通要道上。一旦有敵情發生,白天燃燒柴草,通過濃煙表達資訊 夜晚燃燒乾柴,以火光傳遞軍情,在某兩座城市之間有n個烽火台,每個烽火台發出訊號都有一定代價。為了使情報準確地傳遞,在連續m個烽火台中至少要有乙個發出訊號。請計...