题目

分析
很明显的动态规划问题,每次我们都取当前位置的最大值就可,从头开始,dp[i]=max(dp[i-2],dp[i-3])+num[i-3].
代码
n=input()
num=[]
for i in n:
num.append(ord(i)-96)
dp=[0]*(len(num)+3)
for i in range(3,len(num)+3):
dp[i]=max(dp[i-2],dp[i-3])+num[i-3]
print(max(dp))
本文讨论了解决一个基于字符编码的动态规划问题,通过计算每个位置的最大值,使用dp数组并采用递推关系dp[i]=max(dp[i-2],dp[i-3])+num[i-3]来求解。给出了一段Python代码实现这一过程并输出最大值。

很明显的动态规划问题,每次我们都取当前位置的最大值就可,从头开始,dp[i]=max(dp[i-2],dp[i-3])+num[i-3].
n=input()
num=[]
for i in n:
num.append(ord(i)-96)
dp=[0]*(len(num)+3)
for i in range(3,len(num)+3):
dp[i]=max(dp[i-2],dp[i-3])+num[i-3]
print(max(dp))
249
332
1006
2645
102

被折叠的 条评论
为什么被折叠?