题解 P1223 【排队接水】

· · 题解

简单数学证明

首先我们要排的是所有的元素,但是为什么是从小到大呢???

排队总是象征要排序,每个元素在此序列下都要满足条件,也就是从中拿出两个相邻元素同样满足条件:

于是设:

ai 和 bi且ai<bi

那么针对这两个元素:就有两种排列情况:

1.ai排在bi前面那么有总时间:t1=ai+ai+bi.

2.bi排在ai前面那么有总时间:t2=bi+bi+ai.

于是由ai<bi得出 t1<t2—》变一下式子—》ai+ai+bi<bi+bi+ai;

再化简不等式得出ai<bi

于是得出结论:当ai在bi前面时,时间为最小值。

于是反推回总体,两两相较,那么越小的应该越排在前面,以至于总时间越小

本题真的水,AC代码太多了,提交记录中还有同意了代码公开计划的牛犇在,我觉得没必要贴出代码正如百科中的第一条:题解可以选择贴代码或者不贴。

故:麻烦您在审一次了,这是一次用数学分析的思维分享。我希望能够让大家知道,不是为了单纯炫耀。也许在以后大家的解题思路方向多了一点,能更好的拓展思维。