梅氏砝碼(2014騰訊實習筆試附加題)

2021-06-21 15:13:49 字數 620 閱讀 1415

原題大意:用4個砝碼稱出重量在1到40克內的鑽石,這4個砝碼分別多重(鑽石重量為整型)。

解法:梅氏砝碼。

假設第i個砝碼的重量為a[i]且a[i]>=a[i-1]。i-1個砝碼可以表示[1,n](n<=a[1]+a[2]+a[3]+…+a[i-1]),那麼新增砝碼i後,可以表示的範圍為[1,n]u[a[i]-n,a[i]+n]。為使其連續,所以a[i]-n<=n+1時,即a[i]<=2*n+1<=2*(a[1]+a[2]+a[3]+…+a[i-1])+1。因此當a[i]=2*(a[1]+a[2]+a[3]+…+a[i-1])+1時候可以獲得最優解(i個砝碼可以表示範圍[1,a[1]+a[2]+a[3]+…+a[i])。

所以a[0]=0

a[1]=2*(a[0])+1=1

a[2]=2*(a[0]+a[1])+1=3

a[3]=2*(a[0]+a[1]+a[2])+1=9

a[4]=2*(a[0]+a[1]+a[2]+a[3])+1=27

此時a[0]+a[1]+a[2]+a[3]+a[4]=40

附上: 排列組合公式

2014騰訊實習筆試面試

成都這邊14年的軟體開發筆試題延續了一貫的傳統,還是考查資料結構 作業系統 計算機網路等方面的內容,只是槽點還是非常多的,首先就是筆試挨著坐,博主的左邊就是同班同學 我沒偷看啊!考試的時候還有同學討論題該怎麼做 給跪了 然後題目據說照搬了往年的題,這個我不太清楚。從筆試的情況來看,筆試基本是不卡人的...

騰訊實習生筆試題

一 單項選擇題 1 給定3個int型別的正整數x,y,z,對如下4組表示式判斷正確的選項 int a1 x y z int b1 x y z int a2 x z y int b2 x z y int c1 x z int d1 x y z int c2 x z a a1一定等於a2 b b1一定定...

2012騰訊實習生筆試題

問題描述 兩個陣列a n b n 其中a n 的各個元素值已知,現給b i 賦值,b i a 0 a 1 a 2 a n 1 a i 要求 1.不准用除法運算2.除了迴圈計數值,a n b n 外,不准再用其他任何變數 包括區域性變數,全域性變數等 3.滿足時間複雜度o n 空間複雜度o 1 分析 ...