麻烦大佬看看怎么能优化复杂度(不要太难了,本人还是一名蒟蒻)
题目描述
动态规划入门题,数字三角形问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。
走的规则是:(i,j)(i,j)号点只能走向(i+1,j)或者(i+1,j+1)
如下图是一个数字三角形,在此数字三角形上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。
1
3 8
2 5 0
1 4 3 8
1 4 2 5 0
路径最大和是1+8+5+4+4 = 22,1+8+5+3+5 = 22或者1+8+0+8+5 = 22。
现在老师想提高了下问题难度,现在她有M次询问,每次询问规定哪个点不能经过,问不经过该点的最大路径和。
当然他上一个询问被ban掉的点过一个询问会恢复(即每次他在原图的基础上ban掉一个点,而不是永久化的修改)。
输出M行,每行包括一个非负整数,表示在原图的基础上ban掉一个点后的最大路径和,如果被ban掉后不存在任意一条路径,则输出-1。