【BZOJ1649】[Usaco2006 Dec]Cow Roller Coaster【背包DP】

原创 2016年05月31日 18:06:20

【题目链接】

设dp[i][j],表示前i个位置,花费为j,的最大有趣指数。

然后类似背包一样转移。

/* Telekinetic Forest Guard */
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int maxn = 1005, maxm = 10005;

int L, n, m, dp[maxn][maxn];

struct _data {
	int l, r, w, c;

	bool operator < (const _data &x) const {
		return l < x.l;
	}
} track[maxm];

inline int iread() {
	int f = 1, x = 0; char ch = getchar();
	for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;
	for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
	return f * x;
}

int main() {
	L = iread(); n = iread(); m = iread();
	for(int i = 1; i <= n; i++) track[i].l = iread(), track[i].r = track[i].l + iread(), track[i].w = iread(), track[i].c = iread();
	sort(track + 1, track + 1 + n);
	memset(dp, -1, sizeof(dp));
	dp[0][0] = 0;
	for(int i = 1; i <= n; i++)
		for(int j = track[i].c; j <= m; j++) if(~dp[track[i].l][j - track[i].c])
			dp[track[i].r][j] = max(dp[track[i].r][j], dp[track[i].l][j - track[i].c] + track[i].w);
	int ans = -1;
	for(int i = 1; i <= m; i++) ans = max(ans, dp[L][i]);
	printf("%d\n", ans);
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

bzoj1649 [Usaco2006 Dec]Cow Roller Coaster

Description The cows are building a roller coaster! They want your help to design as fun a roller...
  • zhb1997
  • zhb1997
  • 2014年07月31日 21:16
  • 530

BZOJ1649: [Usaco2006 Dec]Cow Roller Coaster 背包DP

1649: [Usaco2006 Dec]Cow Roller Coaster Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 584  So...
  • Oakley_
  • Oakley_
  • 2016年09月12日 11:16
  • 263

BZOJ1649: [Usaco2006 Dec]Cow Roller Coaster

PortalDescriptionThe cows are building a roller coaster! They want your help to design as fun a roll...
  • Ep1C_HeReT1c
  • Ep1C_HeReT1c
  • 2017年03月02日 19:34
  • 81

bzoj1649: [Usaco2006 Dec]Cow Roller Coaster

1649: [Usaco2006 Dec]Cow Roller Coaster Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 472  Solved...
  • Cynthia_wjyi
  • Cynthia_wjyi
  • 2015年10月25日 15:54
  • 387

bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster 背包dp

→题目链接← dp[i][j]表示铁轨长度为i,花费为j时有趣指数最大值 代码: #include #include #include #include #include #include #d...
  • everlasting_20141622
  • everlasting_20141622
  • 2017年08月15日 10:06
  • 104

1649: [Usaco2006 Dec]Cow Roller Coaster (动态规划)

#include #include #include #include using namespace std; inline int read(){ int x = 0, f = 1...
  • ndsffx501ccy
  • ndsffx501ccy
  • 2014年10月18日 19:00
  • 79

1649: [Usaco2006 Dec]Cow Roller Coaster

1649: [Usaco2006 Dec]Cow Roller Coaster Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 636  Solved...
  • qq_34564984
  • qq_34564984
  • 2016年11月13日 17:10
  • 124

BZOJ 1649: [Usaco2006 Dec]Cow Roller Coaster

Description The cows are building a roller coaster! They want your help to design as fun a roller...
  • u013810072
  • u013810072
  • 2014年08月05日 10:21
  • 561

bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster(DP)

1649: [Usaco2006 Dec]Cow Roller Coaster Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 710  Solved...
  • Jaihk662
  • Jaihk662
  • 2017年09月11日 22:08
  • 111

|BZOJ 1649|二维背包|[Usaco2006 Dec]Cow Roller Coaster

BZOJ 1649 Luogu 2854 from: USACO 2006 Dec Sliver(USACO刷题第10题)显然是二维费用01背包。 但是直接做会超时,而且还有连接的限制。 根据...
  • Darost
  • Darost
  • 2017年06月16日 19:13
  • 136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【BZOJ1649】[Usaco2006 Dec]Cow Roller Coaster【背包DP】
举报原因:
原因补充:

(最多只允许输入30个字)