一道充满歧义的思维题,全网唯一刁钻分析
作者 | kyle 责编 | 欧阳姝黎
故事起源
一人有 240 升水,他想运往干旱地区赚钱。有几个限制条件如下:
每次最多携带 60 升
每前进 1 公里须耗水 1 升(均匀耗水)
水的价格与路程成正比,出发地为 0 元/升,前进 10 公里处为 10 元/升
他必须安全返回出发地
那么应该采取怎样的策略,赚取最多的钱?
分析
总共 240 L,每次最多 60 L,那就分 4 次运输。假设前进公里处卖掉:
则收益为:.
这样就变成了一个二次函数求最值问题,画出函数图像如下:
得到结论:分 4 次往返运输,每次装满 60 L,前进 15 公里的地方卖掉,再返回。
总共获利:。
那这样问题貌似已经完美解决了,网上其它的分析基本也都是这样,但题目貌似有一些歧义,接着我们继续往下分析。
深入思考
题意描述是一个数学模型,但其实我们也可以反向建模。以前都是将生活场景抽象成数学模型,这次我们尝试找一个对应的生活场景。
上面我们通过计算得到了结论,但应该怎么去理解呢,它是否具备可解释性?
这样来理解:水在原产地没有价格差异,所以不论有多少,收益都为 0。运输到了外地产生了价格差,但运输成本也会增加。
那收益为什么会存在一个确定的最大值呢?
比如在成都产的小麦,为啥不运输到纽约去卖呢。先不考虑其它的客观条件,只通过计算经济收益来考虑。
先来研究一下价格、运输成本与距离的关系。
通过上面的函数图像可以发现:
收益=价格 剩余数量,即收益,这不是线性关系,因为货物数量在越来越少
只看成本,则成本=损耗数量价格,即成本,也不是线性增长,因为成本是损耗的货物本身,而货物本身的价格在增长,所以成本以非线性上升
如果理想场景,价格与距离成正比,运输成本也与距离成正比,且货物数量不变。
则收益为:利差*数量
那么收益与距离成正比,距离越远,收益就越高。如果从成都运输小麦到纽约符合这个模型,那么肯定应该把小麦卖得越远越好,但实际生活中,有很多其它的因素,不满足线性关系。
比如到纽约的小麦价格涨 10 倍,但成本却要涨 100 倍,这样收益就会越来越低,甚至亏损。
对生活场景的思考
4.1 场景 1
平时外出经常需要打车。打车人数一般不会变,单价固定,而司机的成本也就考虑油费,这时司机的收益可以假设与里程成正比,那么跑得越远,收益越多。
所以你打车的时候会发现,他们都喜欢跑距离远的单子,近距离一般都不喜欢接。
4.2 场景 2
收益=利差*数量,通过这个公式,可以看出要提高收益,就增大利差或者增大销售数量。所以为啥 iphone 要卖向全球,因为能提高销售数量,至于利差也不一定要比原产地高,但整体收益肯定会增加。从市场经济的角度来说,理论上有更高利润,那么这个经济行为就可以发生。
4.3 场景 3
回到之前的问题,随着距离的增加,货物越来越少,最后可能是一个大货车运一瓶矿泉水,也可以理解为运输效率越来越低,成本自然就越来越高。
比如网购的快递运输。快递在长途运输是用大货车,但最后派送却是用的电瓶车,你应该没见过一个大货车装几个包裹开你家门口吧,快递公司都是有很多的中转站。
那么之前的问题,是否也可以用中转的方式呢,这就是有歧义的地方。题目没有说必须一次运输到目标点再全部卖掉,接着我们继续分析。
中转
为了解决运输效率低,我们肯定是希望货车尽量的满载,因为限制最多60L,那就尽量装满 60 L,所以可以在中途建立中转站。
中转站建设规则:
240 L,要运输 4 次,如果有 181 L,也要运输 4 次,所以保证每个中转站都还剩 60 的倍数
在到每一个中转站途中,选择最大的收益卖掉,最后比较取全局最优
到达一个中转站,如果不卖,就要将返程的水放这里,等返回的时候再装上
5.1 第一站,7.5 公里
运输4次,最佳卖点是 7.5 公里的位置,最多可得 1350 元。如果不卖就往返 7 次,留 7.5L 在此处,继续往前转运,返程再装回 7.5L。
5.2 第二站,10 公里
在站点卖掉,最多可得 2100 元。
5.3 第三站,15 公里
在距离第二站 6.25 公里处卖掉,最多可得 2256.25 元。
如果在第 3 站站点卖掉得 60*32.5=1950,往后只会更低。所以按上面方式转运,最多可得 2256.25 元。
ok,我们成功的把一个简单的问题复杂化了,perfect。
总结
简单的问题也要多深入思考,全方位 360 度无死角,就有可能发现很多不一样的结论。生活中的各种场景都可以和严谨的数学联系起来,关键是能否找出他们的本质规律。
2020-2021中国开发者调查报告重磅来袭,直接扫码或微信搜索「CSDN」公众号,后台回复关键词「开发者」,快速获取完整的报告内容!
一道充满歧义的思维题,全网唯一刁钻分析相关推荐
- CodeForces - 1102A(思维题)
https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You ha ...
- [SDOI2009]Bill的挑战——全网唯一 一篇容斥题解
全网唯一一篇容斥题解 Description Solution 看到这个题,大部分人想的是状压dp 但是我是个蒟蒻没想到,就用容斥切掉了. 并且复杂度比一般状压低, (其实这个容斥的算法,提出来源于y ...
- [BZOJ3523][Poi2014]KLO-Bricks——全网唯一 一篇O(n)题解+bzoj最优解
Description 有n种颜色的砖块,第i种颜色的砖块有a[i]个,你需要把他们放成一排,使得相邻两个砖块的颜色不相同,限定第一个砖块的颜色是start,最后一个砖块的颜色是end,请构造出一种合 ...
- little w and Soda(思维题)
链接:https://ac.nowcoder.com/acm/contest/297/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 全网唯一的Microsoft?NETFramework3?5SP1简体中文完整版离线安装包安装netframewo
简体中文完整版~~[很多软件都需要它支持]~<<全网络唯一可离线安装的>>!~我自己组合成功的!大家需要吗!加精! 安装netframework4.0装这个版本,目前.net程 ...
- ZOJ 3829 贪心 思维题
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...
- yoyo思维题(困难) 组合数学
问题 B: yoyo思维题(困难) 时间限制: 1 Sec 内存限制: 256 MB 提交: 11 解决: 3 [提交][状态][讨论版][命题人:qianyouyou][Edit] [TestD ...
- 1884: 三个家庭(思维题)
1884: 三个家庭 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 244 Solved: 81 [Submit][Status][Web Board] ...
- php算法在线刷题,c,算法_每日一道算法:leetcode 刷题碰到的问题。,c,算法 - phpStudy...
每日一道算法:leetcode 刷题碰到的问题. 这是题目: Given an unsorted array nums, reorder it such that nums[0] < nums[ ...
最新文章
- Caffe源码中各种依赖库的作用及简单使用
- 一个复杂系统的拆分改造实践!
- 上银伺服驱动器接线图_伺服驱动器实际接线方法详解
- python web-python web入坑指南
- C++二维码相关库编译
- 开奖及送书|《Vue.js权威指南》
- sql 子查询 嵌套查询_SQL子查询– SQL中的嵌套查询
- eclipse下彻底删除SVN插件
- javweb音乐网站_基于javaweb音乐网站设计与实现
- spring configuration注解原理
- 华为畅享20为什么没有计算机,华为畅享20 Pro强势来袭:即刻5G,不等待
- 开始写usb gadget驱动
- Unhandled rejection Error: EACCES: permission denied, open '/Users
- Hidden Markov Models Forward算法
- Android中插件化实现的原理,宿主app运行插件中的类 (一)
- 数据库实验六综合实验-水果商店进阶一
- Python人脸微笑识别2-----Ubuntu16.04基于Tensorflow卷积神经网络模型训练的Python3+Dlib+Opencv实现摄像头人脸微笑检测
- 下载到的电子书格式是Mobi,这种格式能否在MAC电脑上打开?
- xshell6家用版下载和使用
- JavaSE-part2