|
本帖最后由 tree_new_bee 于 2012-4-1 13:39 编辑
solomon_007 发表于 2012-4-1 12:46 ![]()
上面讨论的那些个算法,只是猜测,没有严格证明,就可能有问题。。。
有些东西不好证明, 但有些猜测是可以证明的。
比如说, 最慢的人必须一起过河,可以这样证明:(虽说也算不上严格)
以容量为2人为例, 我们假设有t1,t2, .... tn个人。
那么根据前面结论, 最少过河次数为(n-1)/(2-1) = n-1, 这个次数指的是单向的次数, 如果往返都算就是(n-1)*2 - 1
现在设过河时间为s
那么s = k1*t1 + k2*t2 + ... + kn*tn
因为总次数已确定, 所以k1+k2+...+kn = (n-1)*2-1
因为tn至少要过一次河,所以kn>0
要是s最小, 那么越慢的人要求过河次数越少, 所以应该kn=1, 而kn-1 = 0
kn=1,kn-1 = 0 意味着这两个人是一起过河的。
容量>2的情况也同理。
|
|