题目大意:给定一个序列
a
,求一个子序列
傻逼题。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 100100
using namespace std;
int n,ans;
int f[32];
int main()
{
int i,j,x;
cin>>n;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
int temp=0;
for(j=0;j<=30;j++)
if(x&(1<<j))
temp=max(temp,f[j]+1);
for(j=0;j<=30;j++)
if(x&(1<<j))
f[j]=temp;
ans=max(ans,temp);
}
cout<<ans<<endl;
return 0;
}