题目 思路 线性DP,思路很容易就能想到,f[i][k]数组定义为第i秒在k位置时从上一位置j转移过来的最优解,易得f[i][k]=max(f[i][k],f[i-1][j]+search(i,k)); 这里提一下本题一些细节 高度为1时,0时刻中间的馅饼必吃,都到嘴边了,难道要扔掉? 再就是在第i秒时,人可在的位置是有限的,数据比较小,容易忘掉这个点,即第i秒人的位置只能在(w+1)/2-i2和(w+1)/2+i2之间. 接下来是代码 #include<bits/stdc++.h> usin…