标签:ini style efi 模版题 简单 inline line tar cst
算法:简单线性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; }
那么就以这个水题的题解,作为第一篇博客吧!
标签:ini style efi 模版题 简单 inline line tar cst
原文地址:http://www.cnblogs.com/farway17/p/6918652.html