日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

终章-剑之魂

發布時間:2024/1/8 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 终章-剑之魂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

My soul of my sowrd!
終焉的試煉即將到來,作為一名有修養的劍士,雖然沒有習得n刀流但是二刀流還是沒問題的。然而我也是個劍的收藏者,家里屯著n把劍,每一把劍都有一個靈魂值a[i],由于一些劍之間可能有共鳴,所以我需要兩把契合度最高的劍。據劍圣所說,兩把編號為i,j劍的契合度為a[i] and a[j]。如何深得劍的靈魂呢?
注:AND 為按位與運算,先將數轉成二進制,不滿位數的補全0,然后成為兩個長度相同的二進制數,處理的時候,兩個相應的二進制位都為1,該位的結果值才為1,否則為0。

題意

給你n個數(n<=1000000),問你兩個數and的值最大是多少。

分析

一般見到位運算,我們可以先把它們分成一位一位來分析。
我們發現在這些數中好像我們沒有什么規律。
那么我們來考慮一下答案是怎樣確定的,
于是我們考慮答案的每一位,若這一位為1,那么必須有兩個數滿足:
1.ans前i-1位的有1的,這個數也必須要有(即ans and a[j]=ans)
2.第i位必須也是1(即a[i] and 2i?1 >0)
這樣我們便可以很好的解決問題了。

for i:=31 downto 0 do beginan:=0;for j:=1 to n doif (ans and a[j]=ans)and(a[j] and c[i]>0) then begininc(an);if an>=2 then break;end;if an>=2 then ans:=ans+c[i];end;

總結

以上是生活随笔為你收集整理的终章-剑之魂的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。