51nod 1062 序列中最大的数

来源:互联网 发布:网络信息安全口号 编辑:程序博客网 时间:2024/06/05 07:03

题目链接:

http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1062

题解:

水题,数据的范围有点大,自己是直接预处理的,可能数据水的缘故,本来以为过不了的结果过掉了。

代码:

#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define met(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3fconst int maxn = 1e5+10;int num[maxn]={0,1,1,2,1};void init(){    for(int i=5;i<=maxn;i++)    {        if(i%2==0)            num[i]=num[i/2];        else            num[i]=num[i/2]+num[i/2+1];    }}int main(){    int t;    init();    cin>>t;    while(t--)    {        int n;        cin>>n;        int big=0;        for(int i=0;i<=n;i++)            big=max(big,num[i]);        cout<<big<<endl;    }}


0 0
原创粉丝点击