[BZOJ4300]绝世好题

来源:互联网 发布:软件测试面试自我介绍 编辑:程序博客网 时间:2024/04/28 22:15

原题地址

设f[i]为以第i+1位(二进制位)有1的数结尾得到的序列的最长长度,……

据说是SB题,然而智商再次下线,感觉没救了OLZ…

AC code:

#include <cstdio>#include <algorithm>using namespace std;const int K=1<<5;int n,ans;int f[K];int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++){        int t,mx=0;        scanf("%d",&t);        for(int j=0;j<K;j++) if(t&(1<<j)) mx=max(mx,f[j]+1);        for(int j=0;j<K;j++) if(t&(1<<j)) f[j]=mx;        ans=max(ans,mx);    }    printf("%d\n",ans);    return 0;}
0 0
原创粉丝点击