題目鏈結
題目大意:給定乙個長度為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的最優解,……於是列舉的複雜度降到了log,注意要把所有為1的二進位制位更新成總最優值……因為有一位同時為1就可以了……
然後就可以o(
nlog
ai)來做了
我的收穫:
#include
#include
#include
#include
#include
using
namespace
std;
int n,x,temp;
int f[33];
void work()
void init()
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 絕世好題
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...
BZOJ4300 絕世好題
description 給定乙個長度為n的數列ai,求ai的子串行bi的最長長度,滿足bi bi 1 0 2 i len input 輸入檔案共2行。第一行包括乙個整數n。第二行包括n個整數,第i個整數表示ai。output 輸出檔案共一行。包括乙個整數,表示子串行bi的最長長度。sample in...