SBDP,题意有毒,bi&bi-1!=0的意思是b[i]&b[i-1]!=0
#include<bits/stdc++.h>
#define MAXN 100005
#define MAXM 31
using namespace std; int n;
int read_x;
int f[MAXM];
int cf2[MAXM];
int main(){
cf2[0]=1;
for(int i=1;i<MAXM;++i) cf2[i]=cf2[i-1]<<1;
scanf("%d",&n);
int cnt=0;
for(register int i=1;i<=n;++i){
scanf("%d",&read_x);
int tmp=0;
for(int i=0;i<MAXM && read_x>=cf2[i];++i)
if(read_x&cf2[i])
tmp=max(tmp,f[i]);
cnt=max(cnt,tmp+1);
for(int i=0;i<MAXM && read_x>=cf2[i];++i)
if(read_x&cf2[i])
f[i]=max(f[i],tmp+1);
}
printf("%d",cnt);
}


被折叠的 条评论
为什么被折叠?



