NOIP2015模擬 終章 劍之魂

2021-08-21 10:55:15 字數 1435 閱讀 7948

古堡,闇鴉,斜陽,和深淵……

等了三年,我獨自一人,終於來到了這裡……

「終焉的試煉嗎?就在這裡嗎?」我自言自語道。

「終焉的試煉啊!就在這裡啊!」我再一次自言自語道。

「這背後可能有那個東西嗎?」我自言自語道。

「這背後一定有那個東西呢!」我又一次自言自語道。

我沉默著,踏上黑漆漆的索橋,小心翼翼地,拿出鋒利的注入我靈魂的雙劍……

「那麼,我們開始吧……」我最後一次自言自語道。

my soul of my sowrd!

終焉的試煉即將到來,作為一名有修養的劍士,雖然沒有習得n刀流但是二刀流還是沒問題的。然而我也是個劍的收藏者,家裡屯著n把劍,每一把劍都有乙個靈魂值a[i],由於一些劍之間可能有共鳴,所以我需要兩把契合度最高的劍。據劍聖所說,兩把編號為i,j劍的契合度為a[i] and a[j]。如何深得劍的靈魂呢?

注:and 為按位與運算,先將數轉成二進位制,不滿位數的補全0,然後成為兩個長度相同的二進位制數,處理的時候,兩個相應的二進位制位都為1,該位的結果值才為1,否則為0。例:0101(5) and 0011(3)=0001(1)

第一行乙個整數n,代表藏劍數。

第二行n個整數,第i個整數表示a[i]。

輸出包含乙個正整數,最好的兩把劍的契合度。

我們先測試幾組資料。1.6 and 4=4. 2.6 and 2=2. 3.4 and 2=0.不難發現,兩個數越大,運算出來結果越大。由此得出解法。

先從大到小快排(n log n),再n^2列舉。wtf!這你都過了?別急,聽完嘛。如果我們and出來的數沒上一次大,後面的數and出來一定沒有這次大,我們就可以break了。所以總時間複雜度為o(n log n+玄(學))

#include

#include

#include

using

namespace

std;

int n,i,u,k,a[1000001],b[1000001][32],xh,h[32][32],j,o[1000001];

long

long ans;

bool bz,bj[1000001];

int ks(long

long x)

}int main()

xh=max(xh,b[i][0]);

h[b[i][0]][0]++;

h[b[i][0]][h[b[i][0]][0]]=i;

}bz=0;

for (i=xh;i>=1;i--)

}u=0;

for (j=1;j<=n;j++)

if (b[j][i]==1 && bj[j]==1) u++;else

if (u>=2)

memset(o,0,sizeof(o));

}printf("%lld",ans);

}

NOIP2015模擬10 28B組 終章 劍之魂

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

終章 劍之魂 模擬 貪心

給出 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...