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

2021-08-21 10:00:00 字數 593 閱讀 4347

有n把劍,每一把劍有乙個值ai

a

i,然後兩把劍的契合值是ai

anda

j aia

ndaj

,求最大契合值。

先把每個a轉換成二進位制

我們可以先從高位到低位。如果乙個位數有超過一把劍那麼這兩個劍合在一起的值一定比任何這個位位為0的合在一起要大,所以我們就可以將這個位數為0的刪去。但是如果這個位數有值的只有一把劍也沒有用,因為沒有任何一把**可以和這個**匹配,所以可以不用對這個位數進行處理。如果這個位數沒有劍有值就更不用說了。

#include

#include

using

namespace

std;

int a[1000001],n,maxs,k,ans;

bool v[1000001];

int main()

if (k==2) break;//只剩兩個的話直接匹配

}for (int i=1;i<=n;i++)//列舉匹配

if (!v[i])

printf("%d",ans);//輸出

}

終章 劍之魂 模擬 貪心

給出 n n 個數,輸出他們其中兩個數進行與運算後的最大值。in put role presentation style position relative inp utin put5 12 5 6 3 1ou tput o ut pu t4這道題比較簡單,特別是40分的部分。直接o n2 o n ...

終章 劍之魂 模擬 貪心

給出 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模擬 終章 劍之魂

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