1jia1 @ 2016-08-22 21:31:05
我用动归的递推式,转换方程:b[i]=max(b[i+l],b[i+r),自己弄了几个数据都对了,可是提交怎么不行呢?难道真的要用队列?(虽然我不会弄)
#include <iostream>
using namespace std;
int a[2000001]={0},n,l,r;
int main()
{
cin>>n>>l>>r;
for(int i=0;i<=n;i++)cin>>a[i];
for(int i=n-1;i>=0;i--)a[i]+=max(a[i+l],a[i+r]);
cout<<a[0];
//for(int i=1;i<=n;i++)cout<<' '<<a[i];
return 0;
}
就是递推,谁能看看
by missxiaoxiu @ 2016-11-10 20:21:48
只会移动到i+L到i+R中的一格
by functionendless @ 2017-06-03 09:59:48
题目的意思是i+L到i+R中的任意一格,不是i+L和i+R