走格子拿分数,直接弄dp[i]是到了第i格的最大得分可以发现是假的. 于是此题设f[i][j][k][t]代表四种步伐各用了几次可以得到的最大得分,到达的点可以直接算出来,就好转移了. const int maxn = 355; int N, M; int a[maxn], cnt[4]; int f[45][45][45][45], ans; int main() { read(N), read(M); rep(i, 1, N) read(a[i]); rep(i, 1, M) { int x…