正文

俄羅斯奧賽題解答

(2007-11-03 03:18:36) 下一個
100個箱子,裏麵放蘋果、梨、橘子,可以混合

問:不管怎麽放這些水果,是不是總能挑出51個箱子,使這51個箱子裏的蘋果、梨、橘子分別都不少於其他49個箱子裏的蘋果、梨、橘子?

=====================================================================

先做些準備工作:

(1)
對於N個含同一種類水果的箱子,可以找到N/2(N是偶數),或(N+1)/2(N是奇數)個箱子,使得這N/2或(N+1)/2個箱子中的水果大於等於其餘箱中的水果。這是顯而易見的,比如,100個箱子,按箱內水果數量從多到少排序,前50個箱子的水果之和肯定大於等於後50個箱子的水果之和。

(2)
對於N個箱子,每個箱子裏含有N種水果(水果的數量可以為0),則在最壞情況下,你需要全部N個箱子,來滿足題中的條件,即:使得選中的這N個箱子中的每樣水果數量不少於餘下箱子中相應水果的數量。一個例子是:正交矩陣,行代表箱子,列代表水果

箱子\\水果
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1

顯然,任何N<7,都不能滿足條件。

現在開始解題:

如果箱子數和水果數不等,比如這裏,100個箱子,3種水果,我們可以先把它看作是100個箱子,100種水果。那麽,我們知道,最壞情況下,我們有一個100 X 100的正交矩陣,我們隻有取全部100個箱子,才能確保這一百個箱子滿足題裏的條件。

那麽,想象這個正交矩陣的前99列(即前99種水果)不變,最後一種水果消失,必須變成前99種水果中的一種,那麽,我們有98個箱子,#1到#98,每個箱子都隻含有一種水果種類(#1,…,#98),和另外2個箱子,#99,#100,兩個箱子中都隻含有水果#99。

根據定理(2),為了滿足條件,#1到#98這98個箱子,必須全部取出。

根據定理(1),#99和#100這兩個箱子,隻需取一個出來,取那個多的出來。

因此,100個箱子,含99種水果,至少要取99個箱子出來,才能滿足條件。

當然,這裏的第100種水果消失後,箱子#100也可能包含多種水果的組合,但是,結論相同。這裏,我們考慮的是最壞情況。

現在考慮100個箱子,98種水果,思路同上,最後,我們可能得到2種情況:

1)97個箱子,分別隻含水果#1到#97,和3個箱子,都含水果#98,根據上麵定理,我們需要:97+2=99

2)96個箱子,分別隻含水果#1到#96,和2個箱子,含水果#97,2個箱子,含水果#98,根據上麵定理,我們需要:96+1+1=98

兩者中取最壞:我們至少需要取99個箱子。

現在考慮100個箱子,3種水果的情況,隻有3種水果保留,其餘97種不得不變成所保留的3種水果之一。有很多種方法,但是,隻含水果#1的箱子數 X1+隻含水果#2的箱子數 X2+隻含水果#3的箱子數 X3 = 100。

最壞情況下,X1,X2,X3中兩個奇數,一個偶數,所以,最終所需要取的箱子數為51。

用此方法,可以給出100個箱子,不同水果種類的所需的最小數量箱子的全部結論:

水果種類,所需取的最小箱子數
100,100
99,99
98,99
97,98
96,98
..........
..........
..........
9,54
8,54
7,53
6,53
5,52
4,52
3,51
2,51
1,50

用公式表示,100個箱子,N種水果(N〈=100),則至少需要取:

50 + N/2 (N為偶數)
50 +(N-1)/2 (N為奇數)

個箱子,來確保這些箱子中的每種水果之和都大於其餘箱子中對應水果之和。
[ 打印 ]
閱讀 ()評論 (2)
評論
zzoorrrroo 回複 悄悄話 這個證明有些地方太過簡略,存在一些問題。
比如,“這裏的第100種水果消失後,箱子#100也可能包含多種水果的組合,但是,結論相同。這裏,我們考慮的是最壞情況。”這裏需要證明,為什麽第100個箱子隻有一個水果,是最壞情況。同理,還需要證明,隻有98種水果時,為什麽#99和#100各隻有一個水果,是最壞情況。就是說,每一種水果數目的最壞情況都是獨立的,都需要單獨證明。
zzoorrrroo 回複 悄悄話 try
登錄後才可評論.