luogu4310 絕世好題 遞推

2022-02-15 17:58:44 字數 606 閱讀 4472

傳送門

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

輸入格式:

輸入檔案共2行。 第一行包括乙個整數n。 第二行包括n個整數,第i個整數表示ai。

輸出格式:

輸出檔案共一行。 包括乙個整數,表示子串行bi的最長長度。

輸入樣例#1: 複製

31 2 3

輸出樣例#1: 複製

對於100%的資料,1<=n<=100000,ai<=10^9。

da[i]為二進位制下第i+1位為1的長度

轉移很好想

我居然還想了半天qwq

code:

//by menteur_hxy

#include#include#include#include#include#includeusing namespace std;

const int n=100010;

int n,x,ans;

int da[40];

int main()

printf("%d",ans);

return 0;

}

luogu P4310 絕世好題

題面傳送門 這道d pdp dp還是比較水的 首先考慮設f if i fi 為以a ia i ai 結尾的最長長度,則向前迴圈列舉找到適合的轉移就可以了,時間複雜度o n 2 o n 2 o n2 估計80 8080 分正解也不是很難想,因為這是位運算,所以我們要找到位運算的性質,的性質就是兩個數至...

P4310 絕世好題

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

P4310 絕世好題

題目描述 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len 說明對於100 的資料,1 n 100000,ai 10 9。錯誤日誌 沒搞清 每一位的dp值如何更新記錄陣列 乙個數 a 可以接在數 b 後面,當他們在二進位制下有相同位同為 1 時成立 這...