time limit: 1 sec memory limit: 128 mb
submit: 564 solved: 289
[submit][status][discuss]
給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi&bi-1!=0(2<=i<=len)。
輸入檔案共2行。
第一行包括乙個整數n。
第二行包括n個整數,第i個整數表示ai。
輸出檔案共一行。
包括乙個整數,表示子串行bi的最長長度。
31 2 3
2對於100%的資料,1<=n<=100000,ai<=10^9。
剛考完聯賽回家搞了乙個星期常規=- =
然後老師叫我們還是要保持一下手感的是吧
然後隨便找了一道水題。。
貌似是單調dp?
發現不行
然後想了一下按位單調dp
感覺好像可以但不是最優解。。
看了一下status
發現最短的**400b左右
貌似不是單調dp?
然後查了一下。。
f[j]代表第j位的最優值
之後每次更新乙個數每一位的最優值為所有位的f值+1即可。
1 #include2 #include3 #include4 #include5view code6#define maxn 10000178
using
namespace
std;910
inta[maxn],f[maxn];
1112 inline int
in()
1319
20int
main()
2131
int ans=0;32
for(int j=0;j<=30;j++)ans=max(ans,f[j]);
33 printf("%d"
,ans);
34return0;
35 }
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 ...