思路:这题可以说是dp,也可以说是找规律,直接看代码吧。
AC代码如下:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
long long num[1010],mod=1000000007;
int pos[1010];
int main()
{ int T,t,n,m,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&pos[i]);
num[1]=0;
num[2]=2;
for(i=3;i<=n+1;i++)
{ num[i]=num[i-1]*2+mod*2-num[pos[i-1]]+2;
num[i]%=mod;
}
printf("%I64d\n",num[n+1]);
}