A Practical Guide to Quantitative Finance Interviews

Brain Teasers

  • 问题:

    1. 海盗分金问题。(大于等于一半算作通过版本)
    2. 老虎和羊问题。100只老虎一只羊,只能一只老虎吃一只羊,吃完羊就变成老虎了,问羊会不会被吃。
    3. 过河问题。4个人过河,只有一个手电,过河必须用手电。最多两个人同时过河,速度以慢的为准。四个人的过河速度分别为1,2,5,10。为最少的过河时间。
    4. 生日问题。A的生日只可能出现在如下9个选项中:3月4,5或8;6月4或7;9月1或5;12月1,2或8。A只告诉了B月份,只告诉了C日期。B说:我不知道A的生日,C也不知道。C说:一开始我不知道,但是现在我知道了。A又说:现在我也知道了。生日是几号呢
    5. 扑克牌。52张扑克牌,一次抽出两张,直到抽完为止。如果两红A加一分,两个黑B加一分;一红一黑作废。最后分数如果A大于等于B那么A赢,否则B赢,问A赢的概率。
    6. 天平秤球题。12个球有一个轻或者重,3次找出来。
    7. 跑马题。25匹马找出最快的3匹(只能相互比赛,不能挤计算时间)。赛道最多5匹马一起比赛,最少几次比赛出结果?
    8. x^(x^(x^(x^…)))=2,x等于多少?
    9. 日历骰子。想用两个骰子表示出一个月的日期,一个骰子表示一位。能做到吗?如果能,每个骰子的六个面都是什么数字?
    10. Door to Offer。两个门,一个有offer,一个去死。每个门前有个侍卫,一个说真话,一个说假话。只能问一个人一个yes/no的问题,如何进对门?
    11. 传递消息。AB在两端,每人一把锁一把钥匙。怎么把东西传过去。
    12. 开灯问题。门内有一盏灯,门外4个开关。最少进门几次知道是哪个开关控制这个灯?
    13. 求平均数。n个人想知道工资的平均数,但是他们都不想告诉对方自己的工资,能做到吗?
    14. 硬币分堆。有1000个硬币放在地上,980个字朝上,20个背朝上,屋子关着灯。可以做的只有翻转硬币(但是就算触摸也不知道哪面朝上)。如何分成两堆,使得两堆中字朝上的数量相同。
    15. 错误标签问题。三个箱子,装的分别是A、B和AB混合物。三个标签完全贴错。如何只从一个箱子里拿出一个东西弄对标签。
    16. wise men。50个人被抓,一个sultan(巨人)定下规则,拿着一个硬币,初始字朝上。随机从50个人里抽一个人(可以重复抽,无线抽),他可以翻转也可以不翻转。过程中随时有人可以声明(只有一次声明的机会)所有的人都被抽到过,如果对,那么全活;不对,全死。这50个人初始可以指定一个策略,如何?
    17. 钟表碎片。一个钟表摔在地上摔成了三片,发现每片数字之和相同,怎么摔得?
    18. 有1~n之间不重复的数字n-2个,2个缺失,怎么找出?
    19. Counterfeit Coin。十个袋子里面都装着很多硬币,每个重10g,但是有一个袋子是假币,都是9克或者11克。有一个电子秤,怎么称量一次找出来
    20. 玻璃球。两个球,100层楼。用最少的试验次数,找出从哪层开始求就会碎。
    21. 袜子配对。2红色,20黄色,31蓝色的混合包裹,问至少拿出多少个能够保证有一对颜色相同的?
    22. 参加一共有n个人的聚会,已知每个人都和你握手了,问是否必有两个人,他们的握手次数相同。(每两个人最多握一次手)
    23. 一个边长为1的正方形里面有51个蚂蚁,问一个半径为1/7的圆,能否选出一个位置罩住至少三只蚂蚁。
    24. Counterfeit Coin2.5个袋子,每个袋子装的是同样重量的硬币,但是重量可能是9,10或11。问怎样称重一次知道每个袋子装的是多种的。
    25. Coin Split Problem.给定n个硬币,每次随机分成两堆,一堆n1个另一堆n2个,将n1*n2累加进入最后的和。这两堆继续分割下去直到没堆都只剩下一个硬币。问最后的和是多少(举例来说如果有3个硬币,和f(3)=1*2+1*1=3)
    26. 巧克力棒问题。一个n*m的巧克力,掰多少次能弄出n*m个1*1的小巧克力块。(一次只能将一个矩形一分为二)
    27. Race Track。一个环形赛道上有n个加油站,每个加油站能加的油量不一,但是所有加油站的油量总和恰好能走完一周。一辆赛车初始没油,问是否一定能够找到一个出发点,使得走完一周。
    28. 证明 2 是无理数(不能表示成为两个整数相除)
    29. Rainbow hat。还是7个人被关起来了,巨人给他们带上帽子,颜色是七色光中的一种(可能重复),每个人只能看到其他人的帽子看不到自己的。不能交流,每个人猜测自己 帽子的颜色写下来,只要有一个人猜对了他们就可以全部被释放,否则全灭。能不能商量出一个万无一失的方案?
    30. Box packing。能否将53个1*1*4的块,放入6*6*6的正方体中?
  • 答案

    1. (98,0,1,0,1)
    2. 不会吃。倒推
    3. (1,2)去,(1)回,(5,10)去,(2)回,(1,2)去
    4. 9月1号啦。首先A说C不知道,说明日期是有重复的,对应的月份只能是3月和9月;C知道了,说明不是5号;A又知道了,说明那个月除了5号只有一天符合。
    5. 100%。结果只能是A的分数和B的分数相同。
    6. 平均分三份,先称1234和5678。如果相同,那么搞最后一组。如果1234≠5678,那么称125和369.
    7. 先比个5匹*5组。每组老大比,排第一的肯定第一,而且该组第23都是候选;排第二的和该组第二是候选;排第三的是候选,其余的淘汰;那么还剩5个再来一次。一共7次比赛即可。
    8. 因为式子是项数趋近于无穷的时候,所以在多写一项也OK啦,也就是x^(…) = (…) = 2,所以x等于根号2
    9. 能。先考虑哪些数字需要同时出现在两个骰子上。显然有1和2,还有0(如果对面是数字1~6,那么789就没法表示啦)。这样还剩7个数,但是还有6个空白位置。奇迹就是6和9可以用同一个数字表示。
    10. 问:另一个人说你后面是offer,对吗?如果回答是错,进入;否则进入另一个。
    11. A把东西放入,锁上传过去;B再上锁传回;A解锁传过去;B解锁即可。
    12. 思路:4种可能,利用热量和亮灭编码。先开12,过会儿关2开3,立马进入。
    13. 能的。第一个人去一个随机数,加到自己的工资上,传给第二个人,第二个人加上自己的工资…第n个人加完成传回给第一个人,第一个人再减去随机数即可。
    14. 方法:第一堆20个,第二堆980个,然后全部翻转第一堆即可。
    15. 如果只问从哪个箱子拿,根据对称性,只能从AB混合物中拿。拿出的是什么,这个箱子里就只有什么。剩下的只有一种情况。
    16. 指定第一发言人。其他所有人第一次抽到的时候将硬币翻面。如果不是第一次抽到,或者是第一次但是硬币面已经是反的,什么也不做。发言人将翻面的返回来,并计数。
    17. 未必连续。{(11,12,1,2),(3,4,9,10),(5,6,7,8)}
    18. 通过前n项和以及前n项平方和列两个方程求解。复杂度O(n)哦。
    19. 第一个袋子拿1个,第i个袋子拿i个。
    20. 最下面一组x层,之上x-1层…1+2+…+x>=100的x。
    21. 4个咯
    22. 是的。n个人握手的可能为0~n-1,但是每个人都和我握过手,所以是1~n-1种可能,那么一共n个人,必有咯。
    23. 能。把这个正方形分成5*5的方格,一共25个格子,那么显然至少有一个格子里有3只蚂蚁。这个圆是可以套住格子的~
    24. 先从两个袋子考虑。两个袋子一共9种组合,从一个袋子取出3个,另一个袋子取出1个,结果遍历了36~44的9种组合。(如果取两个,那么有重复的)。同样的三个袋子,新的袋子需要能分辨所以要乘以9才行。以此类推,所以从袋子i应该拿出 3i1 个硬币。\
    25. 算出2、3、4个硬币的找到规律是n*(n-1)/2,再用数学归纳法
    26. 猜测答案为nm-1,然后用数学归纳法。另一个思路,一次掰只能将一个矩形分成两个,那么将初始的1个矩形分成nm个,肯定掰nm-1次。
    27. 能的。先说我的思路:把每个加油站的油量用曲线在圆周上标出长度(依照题意所有长度和应该就是圆周长),任意找一个加油站开始,尽量走最长的路线(相当于如果遇到了加油站就加油,并把该加油站的油对应的曲线向后推迟连接到没油的时候),如果走不完一周了,那么从这段曲线没有覆盖的加油站里再找必能找到。(否则与总油量等于全程矛盾)
      答案思路用归纳法。首先如果只有一个油站显然,两个的话也好分析。假设n个行,那么n+1个必能找到一个油站,油量大于其到下一个油站的距离(否则总油量不足),那么将这两个油站合并,就是n个的情况。
    28. 反证法。假设可以表示成m/n(m与n互素),那么有 m2=2n2 ,显然 m2 为偶数,那么m也必为偶数。假设m=2k,那么有 4k2=2n2 ,n也是偶数。这与m和n互素矛盾
    29. 能的。注意把颜色编码成0~6,那么所有帽子的颜色之和mod7有7种可能。第i个人猜测这个值为i,然后根据其余6个人的颜色推测自己的即可。
    30. nope。和2维棋盘的思路类似,但是扩展还是有一定难度。考虑将2*2*2的方块涂成黑白相间,那么一个1*1*4必然有两个在黑块中,两个在白块中。那么6*6*6有27个块,最后必然剩下8个同样颜色的1*1*1块,就没法再放东西了。

Calculus and linear algebra(线性部分没怎么看)

  • 知识点
    – 如果函数f(x)在c点可微,那么f(c)是局部极值,那么f’(c)=0
    – 函数f(x)在c点取得极大或者极小和在c点导数为0应该不成充分也不成必要条件。比如 f(x)=x3 在x=0处;反之f(x)=|x|在x=0处不可导,但是是极小值点
    – 有了导数为0,判断是极大还是极小可以求二阶导数,二阶导数大于零是极小;反之是极大。
    – 洛必达法则: 00 形式可以上下求导
    – w=f(x1,x2…xn),每个xi都是t1,t2…tm的函数,那么求 wti=wx1x1ti+wx2x2ti+...
    – 转换成极坐标的时候别忘了乘以那个r
    – 泰勒展开:记一个吧: ex=n=0xnn!=1+x+x22!+x33!+...
    – 求f(x)=0的跟的几种方法。牛顿法:选择一个初始的x0(要靠近零点才行,否则不保证收敛。如果收敛,速率是平方级别的),然后通过迭代: xn+1=xnf(xn)f(xn) ;二分法:选定一个区间[a,b]使得f(a)<0,f(b)>0,然后二分逼近,收敛速率是线性的;Secant方法:牛顿法改编: xn+1=xnxnxn1f(xn)f(xn1)f(xn) ,如果不好求导可以用这个,收敛速率比二分快速,比牛顿法慢。
    – 多个变量带约束求极值,拉格朗日乘子法。写出式子后对每个变量求导等于零。
  • 问题
    1. y=lnxlnx 的导数
    2. eπ πe 哪个大?
    3. 两个底面半径为1的圆柱垂直交叠在一起,问交叠部分体积(38页)
    4. 题意没明白
    5. 求标准正态分布x大于0的期望
    6. 0ex22dx
    7. ii 是多少?
    8. x2=37 ,求x。
    9. 三维坐标系原点到2x+3y+4z=12这个平面的距离是多少。
    10. 求解:y’+6xy=0,y(0)=1
    11. 求解: y=xyx+y
    12. 求解: y+yx=1x2 ,y(1)=1,x>0
    13. 求解:y”+y’+y=0
    14. 求解:y”+y’+y=x
  • 答案
    1. lnxlnxx[ln(lnx)+1]
    2. –法一:比较原式即比较 πlne elnπ ,即比较 lnee lnππ 。只要看看 lnxx [e,π] 内的单调性即可。发现递减。所以 eπ > πe
      – 法二:由 ex>1+x ,令 x=πe1
    3. 待看
    4. 待看
    5. 求一个积分,结果为 12π
    6. 可以通过正态函数积分进行反推。也可以使用极坐标做。答案: π2
    7. 要用欧拉公式: eiθ=cosθ+isinθ 。这个可以用泰勒展开说明。然后取 θ π2 可得 ii=eπ2
    8. 用牛顿法,初始取6,可得6.083;或者在6出泰勒展开;或者解个 (6+x)2=37 ,并忽略 x2 项。
    9. 也就是求原点到这个平面上点距离的最小值,用拉格朗日乘子法即可。
    10. y=e3x2
    11. y2+2xyx2=c
    12. y=lnx+1x
    13. e12x[c1cos(32x)+c2sin(32x)]
    14. e12x[c1cos(32x)+c2sin(32x)]+x1

Probability Theory

  • 问题

    1. 两个人玩抛硬币游戏,A有n+1个硬币,B有n个硬币。如果两个人把自己的所有的硬币抛出,问A的正面比B的多的概率?
    2. 52张扑克牌,AB任意抽两张,问A的点数大于B的概率?
    3. Drunk Passenger.n个人排队等飞机,第i个人预约的座位号为i。第一个人喝醉了随便坐了一个位置,后面的人都是清醒的,如果自己的被占了也随便找一个,否则坐自己的。问最后一个人做到自己的概率是多少?
    4. 在一个圆周上随机放置n个点,这n个点都在一个半圆内的概率是多大?(看了答案也不是特别明白暂时)
    5. 52张没有大小王的扑克牌,随机抽出5张,求出four-of-a-kind(4张数字相同的)、full house(三个相同的和一个对儿)、two pair(两对儿)的概率。
    6. Screwy pirate.11个海盗把宝物都藏在了一个宝箱,商量只有大于等于6个人想开启才能开启(而且必能开启)。已知一个锁可以有多个钥匙,但是一个钥匙只能开一把锁。问最少需要多少把锁,每个人需要有多少个钥匙才行。
    7. Chess Tournament。一共有n(n保证是2的幂次)个人,编号小的必胜编号大的。怎么分组矩形锦标赛能够使得决赛的对手是1和2.
    8. Application Letter.将1~5打乱,没有一个位置与原来相同的概率是多少?将5推广到n。
    9. birthday problem。 多少个人在一起使得有两个人生日相同的概率大于1/2(假设一年只有365天)。
    10. 100th digit. (1+2)3000 ,小数点右边第100位是什么数字?
    11. 设x是一个大于等于1,小于等于 1012 的整数,那么x的三次方以11结尾的概率是多少。
    12. Unfair Coin. 有1000个硬币,其中有一个两面都是字,其余的都是正常的硬币。随意挑出了一个硬币,连续抛掷了10次都是正面,问这个硬币是那个不正常硬币的概率。
    13. fair probbility from an unfair coin. 有一枚硬币正反不均匀,但是不知道正反的概率。能否制造出相同的几率。
    14. dart game. 投掷飞镖,第一次靠近中心,第二次边缘,第三次投掷成绩位于第一二次中间的概率是多少?更一般的,假设投掷了n次,一次比一次成绩差,那么投掷第n+1次的成绩比第一次差的概率。
    15. birthday line。一队人排队,第一个生日和前面人的生日有重复的有奖,问排第几概率最大?
    16. dice order。依次投掷三个色子,点数依次增大的概率?
    17. 三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题。
    18. amoeba population。一个阿米巴虫有相同的概率死掉,保持自身,分裂成两个,分裂成三个。为初始为一个阿米巴,最终全部死掉的概率。
    19. Candies in a jar. 一个一个地从一个含有10个红糖果、20个蓝糖果、30个绿色糖果的坛子里不放回的拿出,那么当拿完最后一个红色糖果之后坛子里还有蓝色和绿色糖果剩下的概率是多少?
    20. Coin Toss Game. 两个人交替投掷硬币,A先投,B后投。当硬币序列出现HT(head,tail)时游戏结束,且投出T的人获胜。问先手的A的获胜概率。
    21. Russian roulette series. 轮番赌博游戏。问以下三个场景中,先手占优还是后手占优?
      – 普通的场景。
      – 每次射击之后都重新旋转轮盘
      – 两枚子弹随机放置,第一个人开枪没死,第二个人要选择重新旋转吗?
      – 两枚子弹放置在相邻的位置。第一个人开枪没死,第二个人要选择重新旋转吗?
    22. Aces. 52张扑克牌分发给4个人,问人手一张A的概率?
    23. Gambler’s ruin problem. 一个人初始有i元钱,每次比赛以p的概率赢得一块钱,以q=1-p的概率输掉一块钱。当他钱数达到N时或者没钱的时候游戏结束。问钱数为N结束的概率?
    24. Basketball Score. 一个人要投100个篮,第一次命中,第二次不中,之后每次偷懒的命中率是之前投篮投中的比率。问最后一共命中50球的概率?
    25. Cars on Road.20分钟时间内看到至少一辆车的概率是609/625.问5分钟内至少看到一辆车的概率。
    26. meeting probability. 两个人在5点到6点之间会到车站,他们会呆5分钟,问碰到的概率。
    27. 一个木条随机放置两个切分点,问三段木条能形成三角形的概率。
    28. 碗里有100根面条,每个随机挑两个头连接,问最后剩下的面条数量的期望。
    29. 投掷色子,每次投掷了几点就可以获得对应点数的钱。如果投掷的点数是4或者5或者6,那么还可以继续投掷。问期望赢钱数。
    30. 一副52张牌的扑克。问翻出第一张A,需要翻开的牌数的期望。
    31. 假设X1,X2,…,Xn都是独立同分布的随机变量,且在0~1间服从均匀分布,问 Sn=X1+X2+...+Xn1 的概率。
    32. Coupon Collection. 一种有N种礼券,问全收集齐需要买的期望是多少?如果买了n个,有了不同礼券的期望数又是多少?
    33. 假设X1,X2,…,Xn都是独立同分布的随机变量,且在0~1间服从均匀分布,问Zn=max(X1,…,Xn),Yn=max(X1,…,Xn)的期望。
    34. Random ants.500个蚂蚁随机放在一个1米长的杆子上(经典碰撞掉头模型),问最后一个蚂蚁掉落的经历时间期望长度,设蚂蚁爬行速度都是1m/min
  • 答案

    1. 考虑A的前n个硬币与B相比有三种结果:a、正面比B多(最后一个无论正反都比B多);b、和B相同(最后一个只有为正面才比B多);c、没有B多(最后一个无论正反都没有B多)。根据对称性,结果为1/2
    2. 根据对称性,只需要求出相等的概率p,答案就是(1-p)/2。显然p为3/51,答案为8/17。
    3. 我用数学归纳法得到的答案。也可以这么想:考虑第1个座位和第n个座位哪个先坐上人,如果是第一个,那么最后一个人必定能够坐到自己的位置;否则必定坐不到。那么根据对称性,概率必定是1/2。
    4. 首先固定一个点作为起点,其余的点落在这个点顺时针方向的半个圆里的概率是 12n1 ,又n个点作为起点的概率都相同,所以概率是 n2n1
    5. 总的可能是C(52,5),four-of-a-kind数量:624、full house数量:3744、two pair数量123552。
    6. 主要的点在于考虑任意6个人,他们必须有同一把锁的钥匙,而其余5个人没有(其余5个人没有是对少于6个人没法开锁的约束。而如果这6个人不是都有钥匙,那么这把锁无法打开)。所以一共有C(11,5)=462把锁,没人有462*6/11=252把钥匙。
    7. 比较好想的是所有人分为上下半区,只要1和2在两个半区内就行了。概率是 n2n22n(n1)=n2(n1)
    8. 用容斥原理做:11/30
    9. 23人,求任意两个都不相同的事件概率。
    10. 考虑 (1+2)n (12)n 的和, 2 的奇数次方项都被正负消掉了,剩下的是整数。又因为 (12)3000 远小于 10100 ,所以 (1+2)3000 小数点后第100位必为9。
    11. 经过分析可知最后的结果之和x的后两位数有关。设x=10b+c, x3=1000b2+300b2c+30bc2+c3 。最后一位数为1推出c=1,倒数第二位为1,即3*b的末尾数字为1,推出b=7,也就是x的最后两位数字必须为71。每一百个数里有一个这样的,所以概率为1%。
    12. 贝叶斯公式。答案为: 10241024+999
    13. 最简单的方法是投掷两次,去正反和反正,其余可能省略。但是效率可能不高(可参考 Tree algorithm for unbaised tossing with a biased coin)
    14. 可以把成绩好坏看成ABC的全排列,第一问就变成了已知A在B前面,C在A后面的概率,显然是2/3。第二个问题可以按照这个思路计算。更简单的,第n+1次成绩最好的概率是1/(n+1),那么不是最好的概率,即成绩坏于第一次投掷的概率是n/(1+n)
    15. 算,排第n的概率是:p(n)=p(前n-1个人生日都不同)*p(和前n-1有一个相同的)= 365364...(365n+2)365n1n1365 。我的方法是列出p(n)和p(n-1)的关系,即p(n)=f(n)p(n-1),然后求解f(n)>1的最大的n。答案是列出了p(n)>p(n-1)和p(n)>p(n+1)两个方程解出n,为20.
    16. 对于三个数字两两不同的序列,递增是其中之一。所以先算出两两不同的概率:(5/6)*(4/6),再乘以1/6,答案为5/54
    17. 分类初始选择,选择的是羊(概率2/3)必胜;否则必败
    18. 设为p,列方程: p=14(1+p+p2+p3) ,合理的解为 21 (如果有两个合理解怎么解释?还是说不可能)
    19. 用全概率公式(或者说分类:最后一个是蓝色还是绿色):最后一个是蓝色的概率是20/60,以此为条件,红色先拿完(最后一个绿色的出现晚于最后一个红色的出现)的概率是:30/40;同理最后一个是绿色的条件下,蓝色后拿完的概率是:30/60*20/30。那么题意求: 20603040+30602030=712
    20. 设先手获胜的概率是p,那么如果第一次投出T,那么胜利的条件相当于后手胜利的概率;如果第一次投出H,那么谁先投出T谁胜利,这个概率可以通过方程w=0.5+0.5(1-w)来求(w=2/3)。(另一种考虑方式:B如果投出T那么A直接输,否则变成了B先指出H,即w=0+1/2*(1-w),w=1/3)综上,先手胜利: p=12(1p)+1213 ,解得p=4/9
    21. 第一个场景:谁死是确定的,奇偶而已,概率都是1/2,所以无所谓。第二个场景,先手死的概率更大,因为后手死的概率是先手死的概率乘以5/6;第三个场景:重新转死的概率是2/6,否则是2/5,所以要转;第四个场景:重新转死的概率是2/6,否则是1/4,所以不要转;
    22. 可以只求用组合数来做。答案还提供了一种使用条件概率的方法,没怎么明白:第一张A属于一堆的概率是1,剩下51张牌,第二个A属于另一堆的概率是39/51,最后的答案是:1*(39/51)(26/50)(13/49)
    23. 令xi表示所求,显然有 xi1=pxi+qxi2 ,即 xixi1=qp(xi1xi2) x0=0 。经过计算有: xi=[1+qp+...+(qP)i1]x1 ,然后写出 xn 的对应表达式,解出 x1 ,最后再把 x1 带回 xi 的式子中求解。最后解得当q≠p的时候, xi=1(qp)n1qp ,否则 xi=in
    24. 先写出前几项,然后用数学归纳法,答案为1/99
    25. 1(1p)4=609625 p=35
    26. 算个面积即可。23/144
    27. 设木条长度为1,两个切分点为x和y(其中x< y )那么列出三个两边之和大于第三边的式子,求解一个线性规划。结果为1/4。
    28. 小数据先猜测,然后数学归纳法。答案为1+1/3+1/5+…+1/(2n-1)
    29. E=(1/2)2+(1/2)(5+E),解得E=7
    30. 用一个指示变量 xi 表示第i张牌在所有A前面。那么最后的结果就是 1+48i=1Xi ,求期望就是1+48/5=10.6
    31. 算出两个和三个变量的,发现了规律,于是猜测P(Sn≤1)=1/n!.用数学归纳法证明, P(Sn+11)=10f(Xn+1)P(Sn1Xn+1)dXn+1 ,其中 f(Xn+1)=1 ,根据假设, P(Sn1Xn+1)=(1Xn+1)nn! ,求解积分可得。
    32. 第一问很经典,调和级数咯。第二问也用指示变量来考虑:Ii表示第i个礼券被收集到了,对i求个和即可。答案为: N(1(N1N)n)
    33. n/(n+1)和1/(n+1)
    34. 实际上就是求n个随机变量的最大值,500/501 min

Stochastic Process and Stochastic Calculus(只看了5.1马尔科夫和5.3动归)

  • 问题

    1. Gamble’s ruin problem. A初始有1块钱,B有两块钱,每场比赛输的给赢的一块钱,有人没钱了比赛就结束了。一直A赢得每场比赛的概率都是2/3,问最后A胜利的概率。
    2. 连续投掷两个色子(一次投两个,投多次),A说和为12先出现,B说两个连续的7先出现。A胜利的概率?
    3. Coin triplets. 连续投掷一个硬币,出现HHH的期望投掷次数是多少?THH呢?
    4. 还是上题情景,HHH出现早于THH的概率?(推广的图表也在)
    5. Dive Game. 一个筛子最多可以投掷三次,前两次投完可以选择继续或者停止(第三次只能停止)。最后停止的点数是所得,问game worth。
    6. 一个七局四胜的比赛,不能投整体结果,只能一场比赛一场比赛的下注。初始有100块钱,问怎么下注使得如果A胜利赢100元,B胜利输100元。即和整体下注一样。
    7. Dynamic Dice Game.可以无限期的投掷一个骰子,如果点数是1~5,那么获得相应的钱数,并且累加。但是如果遇到6,之前的钱都没了,游戏结束。投掷过程中可以随时喊停,策略是什么?
    8. Dynamic Card Game. 52张牌一张一张的翻开,可以随时喊停。红色赢一块钱,黑色输一块钱,问策略。
  • 答案

    1. 列方程求解,p1为A有一块钱获胜的概率,p2为A有两块钱获胜的概率,p1=2/3*p2,p2=1/3*p1+2/3,解得p1=4/7
    2. 画出状态转移图(四个状态:初始,一个7,两个7,以及12),列方程得7/13
    3. 画出状态转移图,列方程得14和8
    4. 可以花状态转移图,也可以分析前几次的结果,答案为1/8。实际上只要A先选出了方案,B总可以选出一种方案使得B赢的概率大(选A的前两个作为后两个)
    5. 反推。最后一投的期望是3.5,所以如果第二投小于三应该继续。第二投的期望是4.25,继续反推,最后的期望是14/3
    6. 令f(i,j)表示A胜利i局,B胜利j局的收益。显然f(4,0)=f(4,1)=..=f(4,3)=100;f(0,4)=..=f(3,4)=-100。又有在f(i,j)的时候如果下注y,那么f(i+1,j)=f(i,j)+y,f(i,j+1)=f(i,j)-y.解得f(i,j)=[f(i+1,j)+f(i,j+1)]/2。那么从边界反推回来可得。
    7. 假设已经获得了n元钱,那么还有继续投只有当 160+56(n+3)>n 的时候,即n<15的时候才继续投掷。当前钱数为n(n<15)的时候,期望收益为 165i=1E[f(n+i)] ,然后15≤n≤19的时候f(i)=i。最后求得的f(0)=6.15
    8. 令(b,r)表示(黑色剩余牌数,红色剩余牌数)。当前的收益为b-r,接下来以b/(b+r)的概率去到(b-1,r),以r/(b+r)的概率去到(b,r-1),所以 E[f(b,r)]=max{br,bb+rE[f(b1,r)]+rb+rE[f(b,r1)]} .边界条件是f(0,r)=0,f(b,0)=b.层层反推得到f(26,26)=2.62

Algorithm and numerical methods(第三节没看)

  • 问题
    1. Number Swap. 交换两个数字,不能使用任何额外空间。
    2. Horner’s Algorithm. 计算一个n次多项式。
    3. Random Permutation. 提出一个算法并证明咯。
    4. 从一个文件(文件长度未知)里要随机挑出1一个字符,怎么搞?
    5. Maximum Contiguous Subarray. 经典的最大连续子数组问题。
    6. 不用乘号表示一个数乘以7
    7. 有一个正常的硬币,如何构造一个游戏使得胜利的概率为p
    8. Poisonous Wine. 小白鼠问题,1000个瓶子其中有一个有毒,10个小白鼠,看看哪些瓶子有毒。
  • 答案
    1. i=i+j;j=i-j;i=i-j;或者:i=i^j;j=i^j;i=i^j;
    2. 如果直接算,乘法操作的次数是n^2,如果先把能提取的提取出来,那么降为O(n)的。
    3. Knuth shuffle算法。确定第i个数的方法是从第i~n个数随机挑选一个和第i个数交换。证明方法:n!种排列方法的出现概率都是相同的。
    4. 每次对于新来的第i个字符,以1/i的概率和此前选中的字符交换作为选中的字符。可以证明每个字符被选中的概率都是1/n.
    5. 枚举两端,并每次计算子数组和的暴力是O(n^3);固定起点,枚举终点的暴力是O(n^2);动态规划方法O(n);另一种O(n)方法是计算前n项和,维护前n项和的最小值(如果需要输出结果的起始和终止索引,那么前n项和最小值更新的时候,更新起始索引i;更新结果最大值的时候更新终止索引j)
    6. (x<<3)-x
    7. 把p表示成二进制小数的形式,第i次投掷的正反面表示小数点后第i位是0还是1。如果某一位小了,胜利;大了,失败;相同,接着投下一位。如果直到最后一位都相同,那么失败。(考虑0.25,只有00表示胜利,另外三种都表示失败)
    8. 把1000个瓶子都表示成二进制。给第一个小白鼠和第0位是1对应的瓶子里的就,以此类推。最后哪些小白鼠死了就可以还原出每一位的值。

你可能感兴趣的:(杂)