絕世好題 HYSBZ 4300 (位dp)

2021-07-30 11:36:20 字數 732 閱讀 4495

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

input

輸入檔案共2行。

第一行包括乙個整數n。

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

output

輸出檔案共一行。

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

sample input

3 1 2 3

sample output

2 hint

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

dp 代表當前位數可以達到的最大長度。

dp轉移 判定條件就是 a[i]&(1<

#include 

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

int maxn = 1000011;

int n,a[maxn],ans;

int f[31];

int main()

for(int i=0;i<=30;i++)

ans=max(ans,f[i]);

printf("%d\n",ans);

}

4300 絕世好題

time limit 1 sec memory limit 128 mb submit 1328 solved 724 submit status discuss 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len 輸入檔案共2行。第一行包括乙個整數n。...

4300 絕世好題

題目鏈結 題目大意 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len 題解 有顯然 的o n 2 li s做法 考慮轉移條件為aj ai 0,即 aj和a i 的二進位制至少有一位同時為1,f i 表示最後乙個數二進位制第i位為1的最優解,於是列舉的複...

4300 絕世好題

time limit 1 sec memory limit 128 mb submit 3267 solved 1761 submit status discuss 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len 輸入檔案共2行。第一行包括乙個整數n...