4300 絕世好題

2021-08-07 09:34:06 字數 575 閱讀 9388

題目鏈結

題目大意:給定乙個長度為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...