time limit: 1 sec
memory limit: 128 mb
submit: 2628
solved: 1437 [
submit][
status][
discuss]
給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi&bi-1!=0(2<=i<=len)。
輸入檔案共2行。
第一行包括乙個整數n。
第二行包括n個整數,第i個整數表示ai。
輸出檔案共一行。
包括乙個整數,表示子串行bi的最長長度。 3
1 2 3
2n<=100000,ai<=2*10^9
by oxer
f[i]表示,處理到目前為止,滿足:對於最後乙個算進來的數,其第i位不為0的最優長度。(空間:int f[31];)
每次把新進來的數的每乙個1找出來,對於這個1,只要同位有個1即一定可滿足條件。於是取個之前dp最大值,把所有這位是1的dp值全部更新(max+1)即可。
#include #define n 110000
#include using namespace std;
int a[n], dp[31];
int n;
int main()
int ans = -1;
for(int i = 1; i <= n; ++i)
printf("%d", ans);
return 0;
}
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 ...