今天考完美国结构语言学,稍微轻松了一些。我把前几天向大家推荐的网页好好看了一遍,挑选了10个比较精彩的、不是很常见的、本Blog之前没有提过的智力题,并且把它们都整理到了一起,与大家一同分享。希望大家能够大呼过瘾~
1. 给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做?
答案:把扑克牌分成两堆,一堆10张,一堆42张。然后,把小的那一堆里的所有牌全部翻过来。
2. 如何用一枚硬币等概率地产生一个1到3之间的随机整数?如果这枚硬币是不公正的呢?
答案:如果是公正的硬币,则投掷两次,“正反”为1,“反正”为2,“正正”为3,“反反”重来。
如果是不公正的硬币,注意到出现“正反”和“反正”的概率一样,因此令“正反反正”、“反正正反”、“正反正反”分别为1、2、3,其余情况重来。另一种更妙的办法是,投掷三次硬币,“正反反”为1,“反正反”为2,“反反正”为3,其余情况重来。
3. 30枚面值不全相同的硬币摆成一排,甲、乙两个人轮流选择这排硬币的其中一端,并取走最外边的那枚硬币。如果你先取硬币,能保证得到的钱不会比对手少吗?
答案:先取者可以让自己总是取奇数位置上的硬币或者总是取偶数位置上的硬币。数一数是奇数位置上的面值总和多还是偶数位置上的面值总和多,然后总是取这些位置上的硬币就可以了。
4. 一个环形轨道上有n个加油站,所有加油站的油量总和正好够车跑一圈。证明,总能找到其中一个加油站,使得初始时油箱为空的汽车从这里出发,能够顺利环行一圈回到起点。
答案:总存在一个加油站,仅用它的油就足够跑到下一个加油站(否则所有加油站的油量加起来将不够全程)。把下一个加油站的所有油都提前搬到这个加油站来,并把油已被搬走的加油站无视掉。在剩下的加油站中继续寻找油量足以到达下个加油站的地方,不断合并加油站,直到只剩一个加油站为止。显然从这里出发就能顺利跑完全程。
另一种证明方法:先让汽车油箱里装好足够多的油,随便从哪个加油站出发试跑一圈。车每到一个加油站时,记录此时油箱里剩下的油量,然后把那个加油站的油全部装上。试跑完一圈后,检查刚才路上到哪个加油站时剩的油量最少,那么空着油箱从那里出发显然一定能跑完全程。
5. 初始时,两个口袋里各有一个球。把后面的n-2个球依次放入口袋,放进哪个口袋其概率与各口袋已有的球数成正比。这样下来,球数较少的那个口袋平均期望有多少个球?
答案:先考虑一个看似无关的问题——怎样产生一个1到n的随机排列。首先,在纸上写下数字1;然后,把2写在1的左边或者右边;然后,把3写在最左边,最右边,或者插进1和2之间……总之,把数字i等概率地放进由前面i-1个数产生的(包括最左端和最右端在内的)共i个空位中的一个。这样生成的显然是一个完全随机的排列。
我们换一个角度来看题目描述的过程:假想用一根绳子把两个球拴在一起,把这根绳子标号为1。接下来,把其中一个小球分裂成两个小球,这两个小球用标号为2的绳子相连。总之,把“放进第i个球”的操作想象成把其中一个球分裂成两个用标有i-1的绳子相连的小球。联想我们前面的讨论,这些绳子的标号事实上是一个随机的全排列,也就是说最开始绳子1的位置最后等可能地出现在每个地方。也就是说,它两边的小球个数(1,n-1)、(2,n-2)、(3,n-3)、……、(n-1,1)这n-1种情况等可能地发生。因此,小袋子里的球数大约为n/4个。准确地说,当n为奇数时,小袋子里的球数为(n+1)/4;当n为偶数时,小袋子里的球数为n^2/(4n-4)。
6. 考虑一个n*n的棋盘,把有公共边的两个格子叫做相邻的格子。初始时,有些格子里有病毒。每一秒钟后,只要一个格子至少有两个相邻格子染上了病毒,那么他自己也会被感染。为了让所有的格子都被感染,初始时最少需要有几个带病毒的格子?给出一种方案并证明最优性。
答案:至少要n个,比如一条对角线上的n个格子。n个格子也是必需的。当一个新的格子被感染后,全体被感染的格子所组成的图形的周长将减少0个、2个或4个单位(具体减少了多少要看它周围被感染的格子有多少个)。又因为当所有格子都被感染后,图形的周长为4n,因此初始时至少要有n个被感染的格子。
7. 在一个m*n的棋盘上,有k个格子里放有棋子。是否总能对所有棋子进行红蓝二染色,使得每行每列的红色棋子和蓝色棋子最多差一个?
答案:可以。建一个二分图G(X,Y),其中X有m个顶点代表了棋盘的m个行,Y有n个顶点代表了棋盘的n个列。第i行第j列有棋子就在X(i)和Y(j)之间连一条边。先找出图G里的所有环(由于是二分图,环的长度一定是偶数),把环里的边红蓝交替染色。剩下的没染色的图一定是一些树。对每棵树递归地进行操作:去掉一个叶子节点和对应边,把剩下的树进行合法的红蓝二染色,再把刚才去掉的顶点和边加回去,给这个边适当的颜色以满足要求。
8. 任意给一个8*8的01矩阵,你每次只能选一个3*3或者4*4的子矩阵并把里面的元素全部取反。是否总有办法把矩阵里的所有数全部变为1?
答案:不能。大矩阵中有36个3*3的小矩阵和25个4*4的小矩阵,因此总共有61种可能的操作。显然,给定一个操作序列,这些操作的先后顺序是无关紧要的;另外,在一个操作序列中使用两种或两种以上相同的操作也是无用的。因此,实质不同的操作序列只有2^61种。但8*8的01矩阵一共有2^64种,因此不是每种情况都有办法达到目的。
9. 五个洞排成一排,其中一个洞里藏有一只狐狸。每个夜晚,狐狸都会跳到一个相邻的洞里;每个白天,你都只允许检查其中一个洞。怎样才能保证狐狸最终会被抓住?
答案:按照2, 3, 4, 2, 3, 4的顺序检查狐狸洞可以保证抓住狐狸。为了说明这个方案是可行的,用集合F表示狐狸可能出现的位置,初始时F = {1, 2, 3, 4, 5}。如果它不在2号洞,则第二天狐狸已经跑到了F = {2, 3, 4, 5}。如果此时它不在3号洞,则第三天狐狸一定跑到了F = {1, 3, 4, 5}。如果此时它不在4号洞,则再过一晚后F = {2, 4}。如果此时它不在2号洞,则再过一天F = {3, 5}。如果此时它不在3号洞,再过一天它就一定跑到4号洞了。
方案不是唯一的,下面这些方案都是可行的:
2, 3, 4, 4, 3, 2
4, 3, 2, 2, 3, 4
4, 3, 2, 4, 3, 2
10. 一个经典老题是说,把一个3*3*3的立方体切成27个单位立方体,若每一刀切完后都允许重新摆放各个小块的位置,最少可以用几刀?答案仍然是6刀,因为正中间那个单位立方体的6个面都是后来才切出来的,因此怎么也需要6刀。考虑这个问题:若把一个n*n*n的立方体切成一个个单位立方体,最少需要几刀?
答案:事实上,从一个更强的命题出发反而能使问题变得更简单。对于一个a*b*c的长方体,我们需要f(a)+f(b)+f(c)刀,其中f(x)=⌈log(x)/log(2)⌉。只需要注意到,在整个过程中的任何一步,切完当前最大的块所需要的刀数也就等于整个过程还需要的刀数,因为其它小块需要的刀数都不会超过最大块所需刀数,它们都可以与最大块一道并行处理。这表明,我们的最优决策即是让当前的最大块尽可能的小,也就是说要把当前的最大块尽可能相等地切成两半。利用数学归纳法,我们可以很快得到本段开头的结论。
如果你还没过瘾的话,很早以前我还整理过一些智力题合集,感兴趣的话请移步这里:
http://www.matrix67.com/blog/archives/501
http://www.matrix67.com/blog/archives/502
果断sf
瞎子的那个比较牛X哈..
今天突然预感Matrix67牛要写日志 果然
– – 很多个已经老掉牙了……
很可耻的变看题目边抄答案~~唉
开心的看到这里
开心的来到这个地方
瞎子的扑克的确有意思
1, 10张+42张两堆,把其中一堆全部翻面,那么(N,10-N)的分布就变成了(10-N,10-N)or(N,N)。
2,如果是等概率的,那么扔两次,产生4种组合,AA组合代表再来一次,其他三种组合AB,BA,BB分别代表1,2,3,它们是等概率的。
如果两面概率不等,分别以a,b代表。扔3次,产生1+3+3+1=8种组合,各组概率为aaa,aab,abb,bbb;其中aaa,bbb的两种概率的组合,代表再来一次;一种aab概率的组合+一种abb概率的组合,合起来代表123中的一个数字,例如(AAB,BBA)=1, (ABA,BAB)=2,(BAA,ABB)=3。 编码方案不唯一,36种吧。
最赞瞎子那题
看到答案了。:(
4,先允许油箱储油为负数,从任意站出发,环形一周,储油曲线是一个锯齿波。锯齿波最低点可能有多个,任选一个,从该站出发,油箱储油不可能出现负值。
这个题可以改用太阳能汽车,沿途因为有不同程度的遮蔽所以功能不均匀。但是全环路平均功率正好等于行车动力功率。(天气不能改变),那么用光滑曲线代替锯齿波,一样完成证明。
呵呵,都蛮难的啊~
第二个问题,产生一个0-3的随机数,硬币抛两次,每次对应二进制的一位,正好等可能的产生00,01,10,11。正好符合,上次那个0-9的随机数,这个模型不是很符合。硬币不公正的情况下,想不出来
第三题就是我学信息时老师讲贪心算法的例题
这两天准备实习面试,拿这些题 练练脑子。
第三第四道都是OI题
瞎子那题太牛x了
大呼过瘾~
9. 五个洞排成一排,其中一个洞里藏有一只狐狸。每个夜晚,狐狸都会跳到一个相邻的洞里;每个白天,你都只允许检查其中一个洞。怎样才能保证狐狸最终会被抓住?
个人感觉:3 3 1 4也是一个可行的方案。
9. 五个洞排成一排,其中一个洞里藏有一只狐狸。每个夜晚,狐狸都会跳到一个相邻的洞里;每个白天,你都只允许检查其中一个洞。怎样才能保证狐狸最终会被抓住?
个人感觉: 3 3 1 4也是可行的方案。
第七题,m*n的棋盘棋子染色,图G里的所有环,请问环是什么意思?二分图里的环是什么?
开心的来到这个BLOG!~
第七题,m*n的棋盘棋子染色,图G里的所有环,请问环是什么意思?二分图里的环是什么?
好难呀,都不会做
瞎子的题目太赞了
真的是好有深度啊
I never seen that! I think that is difficulty.
无趣
题目太犀利了,狂赞~
五个洞排成一排,其中一个洞里藏有一只狐狸。每个夜晚,狐狸都会跳到一个相邻的洞里;每个白天,你都只允许检查其中一个洞。怎样才能保证狐狸最终会被抓住?
个人感觉: 3 3 1 4也是可行的方案。
————–
狐狸貌似可以跳 4 5 4 5 4
瞎子的好。。。
5个狐狸洞的问题,找到一个顺序:2,2,3,4,4,3,2
有简便的数学方法解吗
后生可畏!!!
加油啊!!!
巧与道!!!!!!!
书签
见过好几个题。狐狸那个题要是改成13个洞呢?
5个洞,3314是不对的。答案我不说了,做个广告,去百度智商吧看吧。
第四题,抽屉原理啊!呵呵
美国结构语言学?你到底是学什么的啊?
Is it the problems that human beings can work out???
The answer is”No”!
第九题我的愚见如下:2234,2234
在两个2234的过程中,必可以将狐狸找出。
在第一次进行2234的查找时,如果狐狸初始状态在奇数号的洞中,那一定可以被找出;若在偶数号的洞中,则经过第一次2234后,它就肯定在奇数号的洞中了,所以两次2234必可以找出狐狸。
不知道这个方法是否太复杂了,请各位大牛明鉴。
第九题我的愚见如下:2234,2234
在两个2234的过程中,必可以将狐狸找出。
在第一次进行2234的查找时,如果狐狸初始状态在奇数号的洞中,那一定可以被找出;若在偶数号的洞中,则经过第一次2234后,它就肯定在奇数号的洞中了,所以两次2234必可以找出狐狸。
不知道这个方法是否太复杂了。
第五题有没有非trick的方法呢?
很不错的。
第9题很简单啊,但是我的方法估计不是最快的:
先按顺序从1到5扫一遍,如果没有发现狐狸,说明必然在某个时刻与狐狸“擦肩而过”,从而在到达5号的那一刻,与狐狸的距离一定是奇数。
然后再从5往回扫(5号洞要consecutively检查两遍),这样最多扫到2号一定能抓住狐狸。因为往回扫的过程中与狐狸的距离已经是偶数了。
第九题能不能给个解题思路?是怎么想到234234的?
第二题,关于不公正的硬币,“正反反”和“反正正”为1,“反正反”和“正反正”为2,“反反正”和“正正反”为3,其余情况重来,这样效率更高点
很多个已经老掉牙了
mark
第8题答案没看懂! ???
哦哦我错了是第七题
PKUSC2018的数学题!!!!
楼上表示AK了PKUSC,所以,,,
狐狸洞问题拓展到n个狐狸,通解就是从2开始,遍历到n-1,然后再从n-1到2,原理嘛,随便找一个n试一下就能理解了。不过我想的是,如果狐狸是在k阶二维棋盘上,每次可以堵住p个格子,p至少是多少,可以保证有一种策略能捉住所有狐狸呢?
表述有问题,应该是“捉住”而不是“堵住”