这道题许多题解都并没有给出贡献具体是如何计算的,加上这题细节又很多,光看式子很难理解 dp 的具体意义。
这篇题解讲的算是比较详细的,但还是没有解决我的如下疑问:
从 fj 转移到 fi(j<i) 的过程中,为什么只需要加上 gj+1,i 和 i 以后的贡献,而不需要加上从 j 走到 j+1 的过程中 [j+1,n] 的贡献。
除此之外,(i−j)+[i−(j+1)]×2+[i−(j+1)+1]=4(i−j)−2 中,最后一项计算 j+1 走到 i 的时间为何要 +1 也有些意义不明。
这实际上是因为,dp 的初始状态是 f0=0,于是如果枚举到 j=0 从 f0 转移,就不应当计算我上面说的 j 到 j+1 的贡献,因为这题题面里的人一开始就是从点 1 开始走的。
而 +1 是什么意思也可以得到了:实际上,fi 的含义与大部分题解中的含义不尽相同,还额外算上了 i 之后的部分在往后走一步的过程中提供的贡献。