51Nod 1062 序列中最大的数 | 简单DP

Posted kimsimple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1062 序列中最大的数 | 简单DP相关的知识,希望对你有一定的参考价值。

 

 

#include "iostream"
#include "cstdio"
using namespace std;
#define LL long long
#define N 100020
int a[N],b[N];
void init()
{
    a[0]=0;a[1]=a[2]=1;
    b[0]=0;b[1]=b[2]=1;
    for(int i=3;i<N;i++){
        if(i%2)
            a[i]=a[i/2]+a[i/2+1];
        else
            a[i]=a[i/2];
        b[i]=max(b[i-1],a[i]);
    }

}
int main(){
   //freopen("in.txt","r",stdin);
    init();
    int t,n;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        printf("%d\\n",b[n]);
    }
    return 0;
}

 

以上是关于51Nod 1062 序列中最大的数 | 简单DP的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1062 序列中最大的数(打表预处理)

(DP ST表 线段树)51NOD 1174 区间中最大的数

51Nod 1050 循环数组最大子段和 | DP

51nod 1174 区间中最大的数

51Nod 1174 区间中最大的数

51Nod 1174 区间中最大的数