zoukankan      html  css  js  c++  java
  • 火车运煤问题

                          -->3次                                     -->2次                                        -->1次

    A(起点)--------------------------------B----------------------------------C-----------------------------D(终点)

                                    <--2次              <--1次

        |--------------------X-------------------|---------------Y------------------|--------------Z--------------|

    为什么是5x+3y>=2000?

          3000/1000=3,将3000吨煤运离原始地点,至少要运三次,因为运输的次数越多烧掉的煤就越多,到终点时剩下的煤就越少,所以把煤运离起始地点一定是3次,也就是5x(往3次,返两次)。中间必须停在两个地方(B,C)将煤放下,因为到C处的时候,车上的煤最大只能有1000吨,因为火车最多只能运1000吨,多了运不了,用两次运肯定是不可能的。所以从A到C至少烧了3000-1000=2000吨煤,即5x+3y>=2000.

    为什么是x+y的最大值?

          在C处剩余的煤最多只有1000吨,离终点越近剩下的煤就越多,所以在x+y取最大值的时候,剩下的煤最大。即剩下的煤=1000-Z=1000-Z=1000-(1000-(x+y))=x+y

    为什么是5x>=1000?

      同理在B处最多还剩2000吨煤,因为在B处时煤的数量还大于2000时,将这2000多吨煤运离B处至少要三次,三次的情况,我们就认为是A-->B,所以在B处至多只能要剩2000吨,即5x>=3000-200=1000.

              可能有人会问为什么是3次、2次、1次,而不是3次、一次,同样按照上面的分析,你可以得出3次、1次的情况最多剩余400吨。

     5x+3y>=2000

        5x>=1000

        求x+y的最大值?

    我是天王盖地虎的分割线                                                             

    参考:http://www.cnblogs.com/hlxs/archive/2011/06/02/2068366.html

  • 相关阅读:
    mac 终端命令kill掉某个指定端口
    python web开发之flask框架学习(1) 创建flask项目
    ios json转model的简单现实
    SnapKit swift实现高度自适应的新浪微博布局
    IOS swift实现密码的显示与隐藏切换
    IOS UIWebView与js的简单交互swift3版
    android 手写万能adapter适配器
    简单几步实现 IOS UITextField输入长度的控制
    IOS Swift UITableViewcontroller实现点击空白处隐藏键盘
    xcode 版本控制推送代码到远程git仓库的步骤
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3916826.html
Copyright © 2011-2022 走看看