UOJ244 短路 結論 dp

2021-07-26 02:29:52 字數 639 閱讀 1442

在雅禮中學聽matthew99講這道題

這道題不是特別難

拿到題目的時候就已經大概猜到解法長什麼樣了

令f[i]為從原點走到(i,i)點所需要花費的最小代價,顯然進入第i層前至少要向右移動i次再向下移動i次,路徑是由若干個l型組成的

考慮在第p行向右移動了一格代價為a[p],若存在乙個q

利用這個思路,每次轉移的時候向平行方向移動的那一次一定是字首最小值

#include

#include

#define n 100050

using

namespace std;

typedef

long

long ll;

int a[n],n;

voidut(

ll&x,

lly)

intmain

()// printf("%d\n",pos);

cout << ans << endl;

return0;

}