题目内容
有十个人各拿一只水桶去打水,设水龙头灌满第i个人的水桶需要ti分钟,且这些ti(i=1,2,…,10)各不相等,试问:(1)只有一只水龙头供水时,应如何安排这十个人打水的次序,使他们的总的花费时间最少?这个最少时间是多少?
(2)若有两个相同的水龙头供水时,应如何安排这十个人的次序,使他们的总的花费时间最少?这个最少时间是多少?
解析:(1)设按某次序打水时水龙头灌满第i个人的水桶需要si分钟,则第一人花费的时间为s1分钟,第二人花费的时间为(s1+s2)分钟,…,第十人花费的时间为(s1+s2+…+s10)分钟,总的花费时间为s1+(s1+s2)+…+(s1+s2+…+s10)
=10s1+9s2+…+2s9+s10.
其中,序列s1,s2,…,s10是t1,t2,…,t10的一个排列.由题设,这些ti各不相同,不妨设t1<t2<…<t10,则由排序原理知
10s1+9s2+…+2s9+s10
≥10t1+9t2+…+2t9+t10,
即按任意一个次序打水花费的总时间不小于按如下顺序打水的时间:先按打水所需时间从小到大依次排队,然后逐个打水,此时花费时间最省,总的花费时间为(10t1+9t2+…+2t9+t10)分钟.
(2)如果有两个水龙头,设总时间最少时有m个人在第一个水龙头打水,设依次所用时间为p1,p2,…,pm;有10-m个人在第二个水龙头打水,依次所需时间设为q1,q2,…,q10-m.
显然必有一个水龙头的打水人数不少于5人,不妨设为第一个水龙头,也不可能有一个水龙头没人去打水,则5≤m<10.
由(1)知p1<p2<…<pm,q1<q2<…<q10-m.总的花费时间为
T=mp1+(m-1)p2+…+pm+(10-m)q1+(9-m)q2+…+q10-m.
其中{p1,p2,…,pm,q1,q2,…,q10-m}={t1,t2,…,t10},t1<t2<…<t10.
首先我们来证明m=5.若不然,即m>5,我们让在第一个水龙头打水的第一人到第二个水龙头的第一位去,则总的花费时间变为
T′=(m-1)p2+…+pm+(11-m)p1+(10-m)q1+…+q10-m.
所以T-T′=(
由于m=5,故两个水龙头人一样多.总用时为T=(5p1+4p2+3p3+2p4+p5)+(5q1+4q2+3q3+2q4+q5).
由于p1<p2<…<p5,q1<q2<…<q5.不妨设p1=t1.下证q1<p2.否则我们交换用时为q1,p2的两人的位置后,总用时变为T″=(5p1+4q1+3p3+2p4+p5)+(5p2+4q2+3q3+2q4+q5),则T-T″=q1-p2>0,即经交换后总时间变少.因此q1<p2,也即q1=t2.
类似地,我们可以证明pi<qi<qi+1(i=1,2,3,4),p5<q5.从而最省时的打水顺序为
水龙头一:t1,t3,t5,t7,t9;水龙头二:t2,t4,t6,t8,t10.其中t1<t2<…<t10.