bzoj4300 絕世好題

2022-05-02 05:42:10 字數 936 閱讀 1151

給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi&bi-1!=0(2<=i<=len)。

輸入檔案共2行。

第一行包括乙個整數n。

第二行包括n個整數,第i個整數表示ai。

輸出檔案共一行。

包括乙個整數,表示子串行bi的最長長度。

31 2 3

2n<=100000,ai<=2*10^9

正解:動態規劃。

很簡單的一道dp題。。設f[i]為做到當前位二進位制位為i的最長子序列。然後直接轉移就行了。

1

//it is made by wfj_2048~

2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include

14#define inf (1<<30)

15#define n (100010)

16#define il inline

17#define rg register

18#define ll long long

1920

using

namespace

std;

2122

int f[35

],a[n],n,res,ans;

2324 il int

gi()

2829 il void

work()

35for (rg int i=0;i<=30;++i) ans=max(ans,f[i]);

36 printf("

%d\n

",ans); return;37

}3839int

main()

BZOJ4300 絕世好題

description 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len input 輸入檔案共2行。第一行包括乙個整數n。第二行包括n個整數,第i個整數表示ai。output 輸出檔案共一行。包括乙個整數,表示子串行bi的最長長度。sample in...

bzoj4300 絕世好題

絕世傻題 既然要求bi andb i 1 0,那麼就讓他一定成立咯。從1到n列舉,當前數為x,前面的數都操作完了,那麼 fx max 1,然後再更新一下gi 沒了 淦。一開始寫了發trie。寫完才發現根本不對啊tat 好虛啊老是犯這種錯 include define rep i,a,b for in...

BZOJ 4300 絕世好題

de scri ptio n 給定乙個長度為 n 的數列ai 求ai 的子串行bi 的最長長度,滿足bi bi 1 0 2 i len in put 輸入檔案共 2 行。第一行包括乙個整數n。第二行包括 n 個整數,第 i個整數表示ai out put 輸出檔案共一行。包括乙個整數,表示子串行bi ...