此题完全受到@Surpass-w大佬的启发
闫氏DP法,
状态表示:
- 集合:对于第i个字符,分为选i与不选i两种选法
- 属性:MAX
状态计算:

代码如下:
s = input()
res = 0
f = [0 for _ in range(len(s) + 1)]
f[0], f[1] = 0, ord(s[0]) - 96 # ord()返回的是ASCII值
for i in range(2, len(s) + 1):
f[i] = max(f[i - 1], f[i - 2] + ord(s[i - 1]) - 96)
print(f[len(s)])