BZOJ 3892 Usaco2014 Dec Marathon DP
2015-02-27 18:22
405 查看
题目大意:给出平面上的一些点,要求按顺序遍历,费用是两点之间的曼哈顿距离,可以跳过k次,问最少需要花费多少。
思路:O(n^3)dp就行了。
CODE:
思路:O(n^3)dp就行了。
CODE:
#define _CRT_SECURE_NO_WARNINGS #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MAX 510 using namespace std; struct Point{ int x,y; void Read() { scanf("%d%d",&x,&y); } }point[MAX]; int cnt,t; int f[MAX][MAX]; inline int Calc(const Point &p1,const Point &p2) { return abs(p1.x - p2.x) + abs(p1.y - p2.y); } int main() { cin >> cnt >> t; for(int i = 1; i <= cnt; ++i) point[i].Read(); memset(f,0x3f,sizeof(f)); f[1][t] = 0; for(int i = 2; i <= cnt; ++i) for(int j = 1; j < i; ++j) for(int k = t; k >= i - j - 1; --k) f[i][k - (i - j - 1)] = min(f[i][k - (i - j - 1)],f[j][k] + Calc(point[i],point[j])); cout << f[cnt][0] << endl; return 0; }
相关文章推荐
- BZOJ 3892 [Usaco2014 Dec]Marathon 动态规划
- bzoj 3892: [Usaco2014 Dec]Marathon 动态规划
- 3892: [Usaco2014 Dec]Marathon
- bzoj 3825: [Usaco2014 Dec]Marathon
- bzoj 3826: [Usaco2014 Dec]Cow Jog LIS
- bzoj 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱【区间dp】
- BZOJ 1606 [Usaco2008 Dec]Hay For Sale 购买干草 DP---背包
- bzoj3892: [Usaco2014 Dec]Marathon
- bzoj 2097: [Usaco2010 Dec]Exercise 奶牛健美操【二分+树形dp】
- bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster(DP)
- bzoj3893【Usaco2014 Dec】Cow Jog
- 【bzoj4742: [Usaco2016 Dec]Team Building】dp
- bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster 背包dp
- 【BZOJ1589】[Usaco2008 Dec]Trick or Treat on the Farm 采集糖果【SCC】【基环外向树】【DP】【记忆化搜索】
- bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster【dp】
- [BZOJ2097][Usaco2010 Dec]Exercise 奶牛健美操(二分+树形dp+贪心)
- 【树形dp】Bzoj3391 [Usaco2004 Dec]Tree Cutting网络破坏
- BZOJ 4742: [Usaco2016 Dec]Team Building ——DP
- 【BZOJ3893】【Usaco2014 Dec】Cow Jog 乱搞
- 【BZOJ】1649: [Usaco2006 Dec]Cow Roller Coaster(dp)