不应该啊,怎么会错

P1725 琪露诺

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


|