题目链接:
题目分析:
这是什么,区间dp吗?怎么大佬都在说区间dp的样子
完蛋区间dp都不知道是啥quq
于是使用了玄学的姿势A过了这道题
设dp[i][j][0]表示第i天,左边选了j个,当前选择了左边的最大价值方案,dp[i][j][1]表示从右边选
(其实第三维好像不用,但我还是记录了一下……这个思路和洛谷题解里面有一篇差不多,那个就是没记左右的,可以去看一下)
那么很容易得到状态转移方程:
(其中a是题目所给数组)
最后ans=max(f[n][i][0],f[n][i][1])(0<=i<=n)
注意第二维要从0开始枚举,因为有可能最开始就取右边的
代码如下:
#include<bits/stdc++.h>
using namespace s