Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

c++实现自底向上的动态规划算法有问题
thaiq发起了问答2017-07-06
0
回复
1359
浏览
int main(void) {
	int result[11];
	int p[11] = { 0,1,5,8,9,10,17,17,20,24,30};
	cout << BottomUp(0, p, result) << endl;
	cout << BottomUp(1,p,result) << endl;
	cout << BottomUp(2, p, result) << endl;
	cout << BottomUp(3, p, result) << endl;
	cout << BottomUp(4, p, result) << endl;
	cout << BottomUp(5, p, result) << endl;
	cout << BottomUp(6, p, result) << endl;
	cout << BottomUp(7, p, result) << endl;
	cout << BottomUp(8, p, result) << endl;
	cout << BottomUp(9, p, result) << endl;
	cout << BottomUp(10, p, result) << endl;
	return 0;
}
//自底向上的动态规划
int BottomUp(int n, int p[], int result[]) {
	for (int i = 1; i < n + 1; i++) {
		int tempMaxPrice = -1;
		for (int j = 1; j <= i; j++) {
			int maxPrice = p[j] + result[i - j];
			if (maxPrice > tempMaxPrice)
			{
				tempMaxPrice = maxPrice;
			}
		}
		result[i] = tempMaxPrice;
	}
	return result[n];
}

 

发表回复
你还没有登录,请先 登录或 注册!