9月9日听课有感
今天本来想写博客的,结果博客园开通博客还是需要审核的,等明天就可以用了。
今天上了一节邹欣老师的课,起初也就是奔着《编程之美》去的,想去见见真人,听听他有什么东西可以share的。
今天讲的内容就soso了,但是出了几道题还是值得思考的。其实自己不知道算不算差生,最讨厌上课做一道题,自己支支吾吾的
做不出来,一直不觉得自己很有天赋,只能笨鸟先飞了。
一个是黄金数,其实这类似的问题一直都有,没有很大的样本,所以不知道这道题是否符合统计学的规律。
(0,99)之间任意选出一个数字,所有人的数字之和取平均*0.618的结果,谁与之接近谁赢。
普遍的思路是:既然是平均值嘛,当然50这个数字很好,大家都能想到,于是50*0.618 = 30,大多数人肯定不会出50,一定会出30
,如果我想到了30,别人也一定能想到30,那么平均值就变成了30,那答案不是30*0.618 = 18,如果我想到这里,其他人也能想到
,那么不就是18*0.618……这个问题就无限延续下去了,大家开始没有思路了,一团MASS。能确定的是,这个数字一定比50小,其实
也一定比30小,关键是大家会做几次0.618的乘法呢,很难猜。但是有一点是,当普通人在推理的时候,从50推到30的时候,一定都
很happy,觉得自己找到了命脉,如果大家都是傻子,那我出30一定是我赢的。但是转念一想,大家和我一样,我想到的他们一定想
到,所以30这个数字一定不保险,接下来是18,突然发现,这个想法不起作用了,心灰意冷,因为18后面还有好多,大家开始一团
MASS,别人到底会算到第几步呢?如何能猜懂别人的心思呢?这个时候每个人的想法就多了,就会把问题复杂化了,最后就可能在之
前的基础上做出判断,这个数一定比30小,可能最后就随便写了个附近的数字。我们这次实验的结果是10.57,这个结果刚好是
18*0.618的附近,我不确定这个是不是巧合,但是根据我的推理过程产生的心里变化,恰好就是在我算到18以后没有继续往下算的信
心了,我很肯定很多人也是这样的状况。当然也不排除极傻极单纯的人,写个50,30的,也不排除像师弟这样算崩溃了,写个
0.0000000001的人。
小热身题过了以后,出了一个一维数组求子序列最大和的问题,以及上升到2维,甚至3维
一维的题目很熟悉,但是让我现场写还是写不出,知道用动态规划一定能解,但是我哪里会写动态规划
由这道题引发了动态规划和贪心算法之间的区别,和解决问题的范围,同时让我想到和最长上升子序列,跳木桩,乃至二维
的滑雪之间有没有什么相关联的地方。
接下来的几天,先解决这几道问题,就当练练手。
今天和刘峻岭师兄又长谈了一番,发现他比我清晰的多,也知道的多。自己其实就是浮在表面上,没有深入下去。可以去看看
Linux C /C++这些,也可以自己去解决实际问题,思考实际问题。比如线程、进程之间通信,同步的解决方案,管理,效率等很多实
际的问题。
再有就是入门一个脚本语言吧,没事多写写小程序练笔。C++的STL

浙公网安备 33010602011771号