【Luogu1359】租用遊艇
阿新 • • 發佈:2017-05-29
amp tex main pid log pro 算法 ext i++
點此進入原題
算法:簡單線性DP
題解:
本題是最短路模版題,也是線性DP的模版題啊……(自己胡謅的……)
設f[i]為到第i個站的最小租金,則
f[1]=0, f[i]=min{f[j]+r[j][i]}(1≤j<i)
(r[i][j]表示從i到j的租金,輸入給出)
就是這樣,也很好理解喲~~
代碼:
#include <cstdio> const int N = 233; #define INF 23333333 int r[N][N], f[N], n; inline int mn(int x, int y) { return x < y ? x : y; }void init() { scanf("%d", &n); for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) scanf("%d", &r[i][j]); //按題目要求讀入 } void work() { f[1] = 0; //初始化 for(int i = 2; i <= n; i++) { f[i] = INF; for(int j = 1; j < i; j++) f[i]= mn(f[i], f[j]+r[j][i]); //狀態轉移 } printf("%d", f[n]); } int main() { init(); work(); return 0; }
那麽就以這個水題的題解,作為第一篇博客吧!
【Luogu1359】租用遊艇