2012百度之星初賽第二場A題解答

2021-06-07 00:27:03 字數 2039 閱讀 7563

今年是我參加baidu astar的第一年,身為程式設計菜鳥的我,知道自己在初賽就掛了,但是掛歸掛,題目我還是很想在賽後解答的,於是經過一番功夫,現在將初賽第二場的解題思路和**貼出來供大家分享。

【題目】

度度熊就是要刷排名第一

時間限制:

1000ms

記憶體限制:

65536kb 描述

一天度度熊在

遊戲大廳中發現了乙個隱藏的神奇遊戲,叫做

」度度熊的逆襲

」。度度熊很好奇到底是什麼情況,於是就進入了遊戲。這個遊戲很神奇,遊戲會給出n個數

ai,度度熊可以任意從中選取一些數,乙個數可以選任意多次。選好之後度度熊得到的分數為度度熊選出的數的

xor(異或)

值。度度熊頓時產生了興趣,決心要刷至

ranklist

的第一名。但是度度熊犯難了,度度熊不知道自己給出的方案是不是最好的,於是度度熊找到了你,希望你告訴他對於某個回合,度度熊能得到的最高分和第二高分是多少?輸入

第1行1個數

n,接下來1行

n個整數表示

ai, (0 <= ai < 2^31, 並且)

1 <= n <= 10^5 輸出

輸出一行兩個數,表示度度熊能夠得到的最高分和第二高分為多少

樣例輸入 2

5 3樣例輸出

6 5

【解題思路】

題目說每個數可以取多次,令輸入n個數,我們分析容易得,所有可能的組合有:

1.數a[i] 與 數 a[i] 異或,結果為0

2.多個不重複的數異或,記作:a[k1]^a[k2]^a[k3]^......a[km],其中k1,k2,k3.....介於0到n-1(包含0和n-1)

,m<=n     

3.由於任意重複的數異或,得值0,而0異或任一值a[k],值仍然是a[k]。故第三類值是a[k],k=0,1,2,3,.....n

經過以上分析之後,我們可以建立乙個陣列,用於容納所有可能的情況的異或值,然後利用遞迴演算法求出第二類的所有異或值,加上0,a[0],a[1],a[2]....a[n-1]等數值一起併入陣列,組後排序,找到最大和次大的值即可。

【**--c++】

/*------------------------------made  by   marsboy       轉 載 請 注 明 出 處!--------------------------*/
#include using namespace std;

//----global variables

int num;

int i=0,j=0,k=0;

int ord=0;

int *xorval;

int tmp=0;

//----end global variables

void xorcal(int array,int st,int llen);

//遞迴呼叫,列舉所有可能的排列組合的異或情況

void xorcal(int array,int st,int llen)

for(m=2;m<=num;++m)

xornum=xorpnum+num+1;

xorval=new int[xornum];

for(m=num;m>1;--m)

}//將num個輸入值賦給異或陣列

for(i=0;ixorval[m+1]) }

max=xorval[xornum-1];

sec_ord=0;

for(m=0;mxorval[sec_ord] && xorval[m]

【測試資料】

1

1

1     0

3

1     5    9

13  12

百度之星 初賽第二場 B題

怎麼說呢,只能說自己還不夠熟練,能力還不夠,細心成都還不夠吧。這樣的二分題目在poj的訓練計畫裡面有類似的題目,自己也是都刷了,可是在調這道題目的時候廢了老大的盡了,比賽結束後聽polla的一句思路 找出最大的t,如果按t分類,可分出1組,按0分類分出n組,二分列舉t然後利用並查集判斷分出多少種類。...

百度之星 初賽第二場 B題

怎麼說呢,只能說自己還不夠熟練,能力還不夠,細心成都還不夠吧。這樣的二分題目在poj的訓練計畫裡面有類似的題目,自己也是都刷了,可是在調這道題目的時候廢了老大的盡了,比賽結束後聽polla的一句思路 找出最大的t,如果按t分類,可分出1組,按0分類分出n組,二分列舉t然後利用並查集判斷分出多少種類。...

2019百度之星第二場初賽 A, B, C

a 度度熊與數字 直接暴力列舉v的因子 找到答案之後對答案排一下序輸出即可 include define ll long long using namespace std const int maxn 1005 int arr 1000 int arrr 1000 int factor int n ...