牛客小白月賽13 D 小A的位運算

2021-09-18 01:54:32 字數 1136 閱讀 8599

題目描述

位運算是乙個非常重要的東西。而小a最近在學習位運算,小a看到了一道很簡單的例題,是說從n個數裡面選出n-1個數要讓它們或起來的值最大,小a想知道這個答案是多少。你可以幫幫他嗎?

輸入描述:

第一行乙個整數n表示有n個數接下來一行n個數表示a1,a2…an

輸出描述:

一行輸出個結果代表最大值

示例1輸入

51 2 4 8 16

輸出30

說明選擇2,4,8,16或的和是最大的,沒有比這個更大的方案。

備註:1≤n≤5e6,1≤ai≤1e9

思路:直接或就完事了,,,先打出乙個2^k次方的表,判斷是否n個數中是否包含n個2 ^k(0<=k<=31),因為2 ^ 31次方已經大於了le9,,,所以。。。

//#include

#include

#include

#include

#include

#include

#include

#include

using namespace std ;

typedef

long

long ll;

#define maxn 1000005

#define inf 0x3f3f3f3f

#define mall (endtree *)malloc(sizeof(endtree));

int al[35]

;int a[maxn]

;int

main()

memset

(a,0

,sizeof

(a))

; ll n, sum=

0, tem=

0, y=

0, cc=0;

cin >> n;

for(

int i=

0; i++i)

sum|

=a[i];}

if(y == n)

cout << sum-

1<<

'\n'

;else

cout << sum <<

'\n'

;return0;

}

牛客小白月賽13 D題

位運算是乙個非常重要的東西。而小a最近在學習位運算,小a看到了一道很簡單的例題,是說從n個數裡面選出n 1個數要讓它們或起來的值最大,小a想知道這個答案是多少。你可以幫幫他嗎?思路 預處理了一下字首l陣列和字尾r陣列,然後列舉那個不選的數就可以了,每次更新ans max ans,l i 1 r i ...

牛客網小白月賽D

題目 水果店裡有 n個水果排成一列。店長要求顧客只能買一段連續的水果。小陽對每個水果都有乙個喜愛程度 ai,最終的滿意度為他買到的水果的喜歡程度之和。如果和為正 不管是正多少只要大於 0 即可 他就滿意了。小陽想知道在他滿意的條件下最多能買多少個水果。你能幫幫他嗎?輸入描述 第一行輸入乙個正整數 n...

牛客小白月賽13 補題(ACDG)

a 通過已經給的 打表找規律,偶數輸出 1,奇數輸出1 includeusing namespace std int main void huaj ll a,ll b int main qianz 0 0 houz n 1 0 qianz 1 mp 1 houz n mp n for i 2 i n...