原題鏈結 題意
目前我們有乙個序列,在第i個點可以走到[i + 1, i + a[i]]區間內的任意一點(也就是說如果a[i]是0,路就走不通了)
現在要求我們將一些位置置零,使得從1走到n只有一條路徑。輸出最小置零數量,保證輸入有解。思路
f i,
j+aj
=min
(fi,
j+aj
,fj,
i−1+
cnt)
f_ = min(f_, f_ + cnt)
fi,j+a
j=
min(
fi,j
+aj
,fj
,i−1
+cn
t)其中cnt是從j + 1到i - 1所有的點中,能夠到達i的點的數量(就是說這些cnt個點都需要置零),由於我們是從i - 1到1的順序列舉的,所以cnt可以順帶記錄
ac**
#include
#include
#include
#include
using
namespace std;
int ff[
3005][
3005
], aa[
3005];
int t, n;
intmain()
}for
(int i =
1; i <= n;
++i)
for(
int i =
2; i <= n;
++i)
}for
(int j = i +
1; j <= n;
++j)
}printf
("%d\n"
, ff[n]
[n]);}
return0;
}
cf1453F 二維DP 思維
原題鏈結 題意目前我們有乙個序列,在第i個點可以走到 i 1,i a i 區間內的任意一點 也就是說如果a i 是0,路就走不通了 現在要求我們將一些位置置零,使得從1走到n只有一條路徑。輸出最小置零數量,保證輸入有解。思路 f min f f cnt 其中cnt是從j 1到i 1所有的點中,能夠到...
平面二維DP
馬攔過河卒 原題傳送門 這一到題目也是比較基礎的動態規劃,也可以理解為是遞推,主要是運用加法原理,思維難度不大。我們要求從 0,0 到 n,n 的方案總數,如果沒有馬的話,我們可以這麼做 設 f i j 為從 0,0 走到 i,j 的方案總數,我們知道一定是有上面和左邊走來,所以只需要累加上面和左邊...
完美序列(二維dp)
題目描述 已知乙個長度為l的序列 b1,b2,b3,bl 1 b1 b2 b3 bl n 若這個序列滿足每個元素是它後續元素的因子,換句話說就是對於任意的i 2 i l 都滿足bi bi 1 0 其中 代表求餘 則稱這個序列是完美的。你的任務是對於給定的n和l,計算出一共有多少序列是完美序列。由於答...