終章 劍之魂 模擬 貪心

2021-08-21 09:57:54 字數 1790 閱讀 9001

給出

n n

個數,輸出他們其中兩個數進行與運算後的最大值。 in

put' role="presentation" style="position: relative;">inp

utin

put

5

12 5 6 3 1

ou

tput

o ut

pu

t

4
這道題比較簡單,特別是40分的部分。直接o(

n2) o(n

2)

兩兩枚舉,記錄進行與運算後的最大值即可。

#include 

#include

using

namespace

std;

int n,a[10001],ans,maxn;

int main()

這道題100分就有點難拿了。我們必須在o(

n)o (n

)或o(

nlon

gn) o(n

long

n)

的時間複雜度內完成。所以很容易想到貪心。這題貪心 由於資料水 是可以過的。但是如果遇到下面這種情況就wa了。 in

put inp

ut

3

13 10 9

ou

tput

o ut

pu

t

9
#include

#include

using

namespace

std;

int n,a[1000001],ans=-1;

bool cmp(int x,int y)

int main()

printf("%d",ans);

}

這道題還有另一種ac方法,不過是o(

n2) o(n

2)

優化,如果資料坑一點就tle了。

#include

#include

using

namespace

std;

int n,answ,a[1000005];

bool cmp(int x,int y)

int main()

printf("%d",answ);

}

正解:

列舉輸入數字最大值的lo

g2l og

2後的結果,再列舉一次每個數,將與最大值的第

i i

位的數字不相同的都刪除(為了保證答案最大),剩餘兩個數即為答案。

時間複雜度:o(

n)' role="presentation" style="position: relative;">o(n

)o(n

)

#include 

#include

#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);

using

namespace

std;

int n,a[2000001],sum,o,ans;

int main()

return

printf("%d\n",ans)&0;

}

終章 劍之魂 模擬 貪心

給出 n role presentation style position relative n n個數,輸出他們其中兩個數進行與運算後的最大值。in put role presentation style position relative inp utin put5 12 5 6 3 1ou t...

NOIP2015模擬 終章 劍之魂

古堡,闇鴉,斜陽,和深淵 等了三年,我獨自一人,終於來到了這裡 終焉的試煉嗎?就在這裡嗎?我自言自語道。終焉的試煉啊!就在這裡啊!我再一次自言自語道。這背後可能有那個東西嗎?我自言自語道。這背後一定有那個東西呢!我又一次自言自語道。我沉默著,踏上黑漆漆的索橋,小心翼翼地,拿出鋒利的注入我靈魂的雙劍 ...

jzoj4274 終章 劍之魂 位運算,貪心

有n把劍,每一把劍有乙個值ai a i,然後兩把劍的契合值是ai anda j aia ndaj 求最大契合值。先把每個a轉換成二進位制 我們可以先從高位到低位。如果乙個位數有超過一把劍那麼這兩個劍合在一起的值一定比任何這個位位為0的合在一起要大,所以我們就可以將這個位數為0的刪去。但是如果這個位數...