#41720: 好難==


seancai78@gmail.com (風月春秋)

學校 : 臺北市立成功高級中學
編號 : 176406
來源 : [140.113.124.212]
最後登入時間 :
2024-10-07 23:20:19
e358. Xor 運算(困難) -- π | From: [118.166.29.246] | 發表日期 : 2024-08-20 01:16

這題考驗的是邏輯,根據我的觀察 (你也可以自己先看一下)

 

 

 

 

 

 

 

 

先觀察項數為三的情形
不管是100;110;111
答案都會是4(2^(3-1))

於是大膽推測,只要該位元有1,會有(2^(n-1))個子集被影響,證明在下面,我和chatgpt討論出來的

集合 1 2 3
針對第0位元處理 => 1 0 1
結果為4 (2^(n-1))//n為項數
第二位=>0 1 1
結果為4
答案:4 * 2 + 4

結論:將所有數字做or運算,最後乘上2^(n-1),即為答案

證明:

已知有集合A,內含n個元素,又有k個元素為1,其餘為0(模擬單一位元情形)

這k個元素有個集合B,B有2^k個子集(含空集合

其中XOR結果為一的,必有奇數個元素
可知有(Ck取1+Ck取3+......+Ck取k(k為奇數))個子集XOR結果為一

根據高中學過(不證明),(Ck取1+Ck取3+......) = 2^(k-1)

最後加上剩下的數,由於xor的特性,這些數並不會改變xor的結果,0與1的比例仍為1:1
得解:有2^(n-1)個子集XOR結果為1

 
ZeroJudge Forum