第三题的状态转移方程真的没有问题吗?还是我太菜了? 我怎么觉得应该是 dp[i]=p[i−j]∗(dp[j]+v[i−j]) 呢? 但是这个转移方程 写的代码 tle 了啊。 哪个大佬解释一下? N = input() arr_p = list(map(float, input().split())) arr_a = list(map(float, input().split())) dp = [None for i in range(int(N))] dp[0] = arr_a[0] * arr_p[0] def getScore(n): if dp[n] == None: res = 0 cur = 1 while cur <= n: res = max(res, getScore(n - cur) * arr_p[cur - 1] + arr_p[cur - 1] * arr_a[cur - 1]) cur += 1 return res else: return dp[n] output = getScore(int(N) - 1) print(round(output, 2))
1 7

相关推荐

牛客网
牛客企业服务