一道小学题目的思考
缘起 今天在抖音上面看到一个老师在讲小学数学题,很有意思的一个题目,我觉得值得深挖一下。也为以后的退路(码农失业当老师)做一点准备。
题目1:

老师的解法是逆向思维,看完这个视频我们自然地会有三个问题。
1.如果我就是头铁要用正向思维,这个题目可以解吗?
2.正向的思维和逆向的思维难度一样吗,差别在哪?
3.导致这个差别的本质原因是什么? 正向思维
计算机系的同学都能看明白,这是一个典型的递归题。它的 trivial 形式是这样的:
题目1.0: 一班60人,至少有多少人会0项技术? 答案很简单,60人。 好吧,这有点无聊。我们把这个题目分解为四个题目,然后依次来解决。
题目1.1:一班60人,42人会游泳,至少有多少人一项都会?
题目1.2:一班60人,42人会游泳,46人会骑车,至少有多少人两项都会?
题目1.3:一班60人,42人会游泳,46人会骑车,50人会溜冰,至少有多少人三项都会?
题目1.4:一班60人,42人会游泳,46人会骑车,50人会溜冰,55人会打羽毛球,至少有多少人四项都会?
题目1.1,答案42,结束。(生命、宇宙以及任何事情的终极答案)
题目1.2,直到此时,“至少”这个词才有实际意义,意思是,两项都会的人是不确定,我们想要的是,让两项都会的人数尽可能少,才能符合题目要求。我们看个图。

如图,青色表示60人,红色表示游泳的42人,而黄色表示骑车的46人。为什么黄色和红色不在青色的同一边呢,这就是“至少”的要求,只有离得尽可能远,才能让两项都会的人数少。 答案:42+46-60=28,两项都会的至少有28人。
题目1.3,此时难度上升了,一个横条只有两个边,第三个放不下了。我们有办法。

我们用蓝色代表会溜冰的50个人,之所以把蓝色画成两段,主要是为了避免和红黄两色重叠的部分重叠。这样才能得到至少的结果。
我们现在知道,两项都会的至少有28个人,那剩下60-28=32人。这些地方不足以放下会溜冰的50个人。有50-32=18个人,必须放在前面两项重合的地方。也就是说,至少18个人要会溜冰,同时还会其他两项。 题目1.4,现在我们有经验了,55个打羽毛球的人,只要不放在上一题算到的18个人的区域内,其他地方可以随便放。很可惜不够用,差了多少呢,差了55-(60-18)=13个人。这13个人就是必须会打羽毛球,同时还要会其他三项。
正向思维和逆向思维的区别
显而易见,正向思维的步骤比逆向思维要多多了。但是他有一个好处,思路非常的 straightforward,把理解的智商要求直接从110拉低到90。
在谈这个本质的原因之前,我们把题目换个问法。
题目2:
一班60人,42人会游泳,46人会骑车,50人会溜冰,55人会打羽毛球,*至多*有多少人四项都会?
按照之前的思路来思考一下。
题目2.0:一班60人,至多有60人会0项技术。
题目2.1:一班60人,42人会游泳,至多有42人会游泳。
题目2.2:一班60人,42人会游泳,46人会骑车,至多有,min(42,46)=42人两项都会。
题目2.3:一班60人,42人会游泳,46人会骑车,50人会溜冰,至多有,min(min(42,46),50)=42人三项都会。
题目2.4:一班60人,42人会游泳,46人会骑车,50人会溜冰,55人会打羽毛球,至多有,min(min(min(42,46),50),55)=42人四项都会。
很简单对吧,图我就不画了。
这题如果要逆向去解的话,所求的问题是,至少有多少人存在至少一项不会?看起来很复杂,真实计算的话会回到上面正向的思路里去。
看起来解题步骤多寡和正向还是逆向不一定有关系,反而和这个至多至少关系很大。
本质原因
我们从有实际意义同时最简单的一个问题开始。
题目 2.2 (1.2),一班60人,42人会游泳,46人会骑车。至多(至少)多少人两项都会?
当我们算至多有多少人两项都会的时候,和总人数没有关系,只要给出两个数字中小的那一个就可以了。
而至少多少人两项都会和总人数有关系。正向计算,要想两项都会的人数少,两个色块就要离得远。然后如果大于总人数就减去总人数即可。42+46大于60,那么至少有28人要两项都会。 等一下,这里的如果是干啥的,那如不果的时候怎么办? 我们把如不果放一放,先看看逆向的解法,60-42=18,60-46=14。14+18=32。60-32=28。结果相同。可是这每一步都是个啥意思呢。
前面两步意思是,不会的人各有多少。不会的人加起来是啥意思呢? 作者说了,是至少有一项不会的人,最多的个数。最多怎么达到呢,让这些人完全不是同一批人。也就是说,不会游泳的是一批人,不会骑车的是另一批人,这样至少有一项的人就最多了。
那么问题来了,这两类人一定不会是同一批人吗?如果会游泳的有1人,会骑车的有1人。那不会的那两批59人里面肯定有相同的。
哦,原来这踏马的叫惊喜啊,正向解法里那个如不果是这个意思。
所以这个逆向解法蕴含了一个假设,就是不会至少一项的几类人,一定不是同一批人。当然了,按题目中的数字计算,小于60,他们确实可以不是同一批人,假设成立。但这不是通用的思路,换个数字就不一定对了。或者说,这个思路的正确性是有条件的,又或者说,这个思路是根据答案构造的。
我们发现了一个通用的规则,步骤多寡和问题里问的是最多还是最少有关系。逆向解法虽然不通用,但也给了我们一定的启发,步骤多寡和条件里的会与不会有关系吗?
题目3(4):一班60人,18人不会游泳,14人不会骑车,10人不会溜冰,5人不会打羽毛球,至多(少)有多少人四项都会?
这俩题目有问题,解题思路第一步肯定减回去,把题目变成和题目1,2相同。看来还得改。
题目5(6):一班60人,18人不会游泳,14人不会骑车,10人不会溜冰,5人不会打羽毛球,至多(少)有多少人四项都不会?
啊哈,明眼人一下就看出来了。题目5,6和题目1,2互为镜像,解题思路完全一样。
总结一下,这类题目共有8个结构,其中5,6和1,2互为镜像,思路一样。3,4和7,8(我偷个懒不列了)互为镜像,是1,2的简单变形,可以变回去解题。1是复杂形式,2是简单形式。 复杂形式有一个可以解部分情形的逆向思维解法,通用解法依然是正向的。 结论:计科递归解题妙,抖音妹子抬腿笑。