找规律。。。感觉不是什么DP
思路
寄
见: https://leetcode-cn.com/problems/rotate-function/solution/c-zhao-gui-lu-by-mountain-ocean-3zon/
代码
class Solution {
public:
const static int N=1e5+10;
int f[N];
int maxRotateFunction(vector<int>& nums) {
int n=nums.size();
int sum=0;
for(int i=0;i<n;i++)
{
f[0]+=i*nums[i];
sum+=nums[i];
}
int ans=f[0];
int j=n-1;
for(int i=1;i<n;i++)
{
f[i]=f[i-1]-(n-1)*nums[j]+sum-nums[j];
j--;
ans=max(f[i],ans);
}
return ans;
}
};