Melon_Musk
2021-02-01 08:38:50
CF1472C Long Jumps题面
安利我的博客
一个长为
一道比较显然的dp题
对于我们当前所在的位置
令
故由题意得转移方程式为:
初始所有
于是我飞速将此代码码了出来,然后发现它 RE 了。
原因是这题的
所以我们可以将
AC记录
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e7+7;
ll read()
{
ll res=0,f=1;
char c=getchar();
while(!isdigit(c) && c!='-') c=getchar();
if(c=='-') f=-1,c=getchar();
while(isdigit(c)) res=(res<<1)+(res<<3)+c-48,c=getchar();
return res*f;
}
ll a[maxn];
map<ll,ll> f;
int main()
{
int T=read();
while(T--)
{
int n=read();
ll maxx=0;
f.clear();
for(int i=1;i<=n;i++)
a[i]=read();
for(int i=1;i<=n;i++)
{
f[i+a[i]]=max(f[i+a[i]],f[i]+a[i]);
maxx=max(maxx,f[i+a[i]]);
}
printf("%lld\n",maxx);
}
return 0;
}
求点赞awa!