题目内容

问题:有十人各拿一只水桶去打水,如果水龙头灌满第i个人的水桶需要ti分钟,且这些ti(i=1,2, …,10)各不相等,试问:

    若有两个相同的水龙头供水时,应如何安排这十个人的次序,使他们花费的总时间最少?这个最少的总时间是多少?

导思:考虑两个水龙头,要注意数组的搭配与数组中的大小顺序,可以联系教材上一个水龙头供水时的设定方法去求解.

探究:如果有两个水龙头,设总时间最少时有m个人在第一个水龙头打水,设依次所需时间为p1,p2, …,pm;有10-m个人在第二个水龙头打水,依次所需时间设为q1,q2, …,q10-m.显然必有一个水龙头的打水人数不少于5人,不妨设为第一个水龙头,也不可能有一个水龙头没人去打水,则5≤m<10.设

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.若不然,我们让在第一个水龙头打水的第一人到第二个水龙头的第一位去,则总花费的时间变为:

T′=(m-1)p2+…+pm+(11-m)p1+(10-m)q1+…+q10-m.

T-T′=(2m-11)p1>0.

    即当m>5时,我们让第一水龙头的第一人到第二水龙头去后,总时间减少.故在m=5时,总时间可能取得最小值.

    由于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<pi+1(i=1,2,3,4),p5<q5.从而最省时的打水顺序为:

水龙头一:t1,t3,t5,t7,t9;

水龙头二:t2,t4,t6,t8,t10.

其中:t1<t2<…<t10.

练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网