随笔分类 -  math.cs

摘要:最近没有合适的床头书可以看,于是索性把CS:APP(深入理解计算机系统)取下来放在床边,睡不着觉时随意翻一翻,以期稳故知新。在CS:APP第2.3.6小节中提到,由于整数乘法指令通常会比加减法和位运算指令会慢上许多,因此编译器有时会做一个优化:用移位和加减法的组合来代替乘以常数因子的乘法,比如x * 阅读全文
posted @ 2012-08-04 16:23 atyuwen 阅读(4504) 评论(5) 推荐(4)
摘要:Minimum dot product query (最小点积查询) : 若有一个二维向量集合V, 其大小为m. 那么在集合V上的一次最小点积查询即是说任意输入一个向量x, 返回在V中与x的点积最小的元素以及相应的点积,即 min{dot(x, vi) | vi 属于 V}。 这个问题是在cstheory.stackexchange上面看到的。楼主提出的问题原本是n维的最小点积查询,然后顺便提了... 阅读全文
posted @ 2011-08-21 15:15 atyuwen 阅读(1743) 评论(0) 推荐(0)
摘要:The scientist builds in order to study, the engineer studies in order to build. -- Fred Brooks最近在忙各种毕业事项之余,一直在努力搞 Real-time GI ,可惜时间总是显得如此的不够用,搞完了 RSM 却忘了做 SRM,哈哈。为了避免长时间不思考算法问题,导致智商下降,决定弄个小问题来做一下。这个问题也是在搞 GI 的时候想到的,该问题的二维版本跟 GI 也算是有那么一丁点关系,尽管从原则上来说只用一个高度场来表示场景的话显然丢失了太多信息。前面都是废话,现在正式开始,问题是这样的:1-Dime 阅读全文
posted @ 2011-03-09 21:47 atyuwen 阅读(3373) 评论(4) 推荐(0)
摘要:问题1:给定离散随机变量 x 均匀分布在区间 [a, b] 的整点上,y 均匀分布在区间 [c, d] 的整点上,求期望 E(|x-y|)。问题很简单,显然最直接的办法就是枚举 x 和 y 然后进行统计即可。如果再稍稍思考一下,那么可以发现其实只用枚举其中一个变量就行了,因为若固定 x = i,那么求 E(|i-y|) 只需要对i =y 和i y 两种情况分别进行讨论即可。上面两个方法的运行时间都是与区间的大小相关的,对于这样简单的一个问题,有理由相信一定有 O(1) 的方法存在,事实上也的确如此,推导如下。首先可以交换 x , y 的顺序以保证 a = c,那么 a, b, c, d 阅读全文
posted @ 2011-02-02 12:13 atyuwen 阅读(12055) 评论(0) 推荐(1)
摘要:Simplicity is relative. To the great majority of mankind– mathematical ignoramuses – it is a simple fact, for instance, that 17 X 17= 289, and a complicated one that in a principal ideal ring a finite subset of a set E suffices to generate the ideal generated by E. For the reader and for others amon 阅读全文
posted @ 2011-01-20 19:18 atyuwen 阅读(2556) 评论(4) 推荐(1)
摘要:假设有一个硬币,抛出字(背面)和花(正面)的概率都是0.5,而且每次抛硬币与前次结果无关。现在做一个游戏,连续地抛这个硬币,直到连续出现两次字为止,问平均要抛多少次才能结束游戏?注意,一旦连续抛出两个“字”向上游戏就结束了,不用继续抛。上面这个题目我第一次见到是在pongba的TopLanguage的一次讨论上,提出问题的人为Shuo Chen,当时我给出了一个解法,自认为... 阅读全文
posted @ 2010-09-12 13:34 atyuwen 阅读(21587) 评论(17) 推荐(8)
摘要:People who play with bits should expect to get bitten.-- Jurg NievergeltI failed math twice, never fully grasping probability theory. I mean, first off, who cares if you pick a black ball or a white b... 阅读全文
posted @ 2010-08-05 14:20 atyuwen 阅读(3248) 评论(4) 推荐(2)
摘要:When bitwise operations are combined with addition, subtraction, multiplication, and/or shifting, extremely intricate results can arise, even when the formulas are quite short. -- Donald E. Knuth [TAo... 阅读全文
posted @ 2010-07-19 09:23 atyuwen 阅读(4358) 评论(3) 推荐(6)
摘要:1. 在斗地主中,求地主(20张牌)拿到至少一个炸弹的概率。2. 假设有两个瓶子,分别设为 A 瓶和 B 瓶,其中 A 瓶装了大半瓶的白酒, B 瓶装了整整一满瓶红酒,现在将B瓶中的红酒往A瓶里倒,直到 A 瓶装满为止。将 A 瓶中的酒搅拌均匀,然后再回倒入 B 瓶,直到 B 瓶重新装满。这时问,是 A 瓶中的红酒多,还是 B 瓶中的白酒多。假设在上一步中 A 瓶并未搅拌均匀,情况又如何。3. 一... 阅读全文
posted @ 2009-12-23 13:35 atyuwen 阅读(1772) 评论(5) 推荐(1)
摘要:(注:本答案的习题及编号对应于 Algorithms, Draft Edition)Google doc:https://docs.google.com/fileview?id=0BwvN5bVSmQYUNTVhZjQ0N2EtYmY3NC00YzgyLTgwOTgtZmNhNmFmMDNiMDYx&hl=enCSDN:http://download.csdn.net/source/175... 阅读全文
posted @ 2009-11-10 18:41 atyuwen 阅读(10190) 评论(5) 推荐(1)
摘要:原帖:http://hi.baidu.com/atyuwen/blog/item/a5898360d00494d78cb10d0a.html我常感叹到,学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。学力学就没有这样的好事了(抱怨一下),除了论文就是论文,满篇公式,晦涩坚深,真不是给人看的(虽然我也没看过几篇)。在这里列出... 阅读全文
posted @ 2009-11-09 12:49 atyuwen 阅读(2484) 评论(4) 推荐(3)
摘要:原帖:http://hi.baidu.com/atyuwen/blog/item/160bd024531e3034c995591d.htmlProject Euler上最近的题目都还比较意思,来看看前些天刚刚新鲜出炉的一道题:Problem232,大意如此:说,有这样一个硬币游戏,需要两个玩家参与,我们不防分别将他们称为玩家1和玩家2。游戏规则如下:两个玩家轮流来掷硬币。玩家1每次只能掷一次,若是... 阅读全文
posted @ 2009-11-09 12:26 atyuwen 阅读(909) 评论(0) 推荐(0)
摘要:原帖:http://hi.baidu.com/atyuwen/blog/item/206369fdae6d221e09244da9.html在上个星期的“有道难题”网络预赛中,某些Group的第二题涉及到了完全平方数的判定问题。相信大多数人的判定语句都差不多是这样写的:if(sqr((int)sqrtl(n))==n){...},把这条语句整理一下,大概是这样:inline... 阅读全文
posted @ 2009-11-09 12:22 atyuwen 阅读(6506) 评论(2) 推荐(0)
摘要:这里的rotate操作,也就是指循环移位。比如将串“ABCDEFG”以D为中心旋转,就相当将该串向左循环移位,直到第一个元素为D为止,最后得到新串“DEFGABC”。要想方便的完成rotate操作,一个常见的技巧是这样的:先将前半部分反转,再将后半部分反转,最后再将整个串反转即可(这里的前半部分与后半部分是以旋转中心来划分的)。还是以串“... 阅读全文
posted @ 2009-11-08 12:21 atyuwen 阅读(2153) 评论(0) 推荐(1)