递推DP URAL 1031 Railway Tickets
2015-05-13 18:39
387 查看
题目传送门
/* 简单递推DP:读题烦!在区间内的都更新一遍,dp[]初始化INF 注意:s1与s2大小不一定,坑! 详细解释:http://blog.csdn.net/kk303/article/details/6847948 */ #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <string> #include <queue> using namespace std; const int MAXN = 1e4 + 10; const int INF = 0x3f3f3f3f; int C[4], L[4]; int dp[MAXN], a[MAXN]; int main(void) //URAL 1031 Railway Tickets { //freopen ("Y.in", "r", stdin); while (scanf ("%d%d%d%d%d%d", &L[1], &L[2], &L[3], &C[1], &C[2], &C[3]) == 6) { int n; scanf ("%d", &n); int s1, s2; scanf ("%d%d", &s1, &s2); if (s1 > s2) swap (s1, s2); a[1] = 0; for (int i=2; i<=n; ++i) { scanf ("%d", &a[i]); dp[i] = INF; } dp[s1] = 0; for (int i=s1+1; i<=s2; ++i) { for (int j=1; j<=3; ++j) { int k = i - 1; while (k >= s1) { if (a[i] - a[k] > L[j]) break; if (dp[i] > dp[k] + C[j]) dp[i] = dp[k] + C[j]; k--; } } } printf ("%d\n", dp[s2]); } return 0; }
相关文章推荐
- URAL1031——DP——Railway Tickets
- URAL 1031 很简单的DP..
- 递推DP URAL 1081 Binary Lexicographic Sequence
- 【URAL1031】Railway tickets
- 递推DP URAL 1353 Milliard Vasya's Function
- 递推DP URAL 1119 Metro
- 递推DP URAL 1260 Nudnik Photographer
- URAL 1031. Railway Tickets(spfa)
- 递推DP URAL 1017 Staircases
- 递推DP URAL 1167 Bicolored Horses
- 递推DP URAL 1586 Threeprime Numbers
- 递推DP URAL 1244 Gentlemen
- URAL 1031 Railway Tickets
- 递推DP URAL 1225 Flags
- 递推DP URAL 1009 K-based Numbers
- URAL 1009 K-based numbers(DP递推)
- ural 1031 Railway Tickets
- URAL 1031 Railway Tickets
- URAL 1309 Dispute <函数关系的递推>
- URAL 2018 The Debut Album(dp)