<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KingsamChen的废墟堆</title>
	<atom:link href="http://blog.kingsamchen.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.kingsamchen.com</link>
	<description>我本楚狂人，凤歌笑孔丘。手持绿玉杖，朝别黄鹤楼</description>
	<lastBuildDate>Sun, 05 Feb 2012 16:32:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>NULL和nullptr</title>
		<link>http://blog.kingsamchen.com/archives/697</link>
		<comments>http://blog.kingsamchen.com/archives/697#comments</comments>
		<pubDate>Sun, 05 Feb 2012 16:32:30 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[C++0x]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[NULL]]></category>
		<category><![CDATA[nullptr]]></category>
		<category><![CDATA[隐式类型转换]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=697</guid>
		<description><![CDATA[0.NULL的前世今生 对于C和C++程序员来说，一定不会对NULL感到陌生。但是C和C++中的NULL却不等价（别惊讶，这是真的）。 NULL表示指针不指向任何对象，但是问题在于，NULL不是关键字，而只是一个宏定义(macro)。 在C中，习惯将NULL定义为void*指针值0： #define NULL (void*)0 但同时，也允许将NULL定义为整常数0 An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.55) If a null pointer constant is converted to a pointer type, the resulting pointer, called a null pointer, is guaranteed to compare unequal to [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-size: large;"><span style="color: rgb(0, 0, 255);">0.NULL的前世今生</span></span></strong></p>
<p>对于C和C++程序员来说，一定不会对NULL感到陌生。但是C和C++中的NULL却不等价（别惊讶，这是真的）。</p>
<p>NULL表示指针<strong>不指向任何对象</strong>，但是问题在于，NULL不是关键字，而只是一个宏定义(macro)。</p>
<p>在C中，<strong>习惯</strong>将NULL定义为void*指针值0：</p>
<pre class="brush:cpp">
#define NULL (void*)0
</pre>
<p>但同时，也允许将NULL定义为整常数0</p>
<blockquote style="background-color:#F0F8FF"><p><em>An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.55) If a null pointer constant is converted to a pointer type, the resulting pointer, called a null pointer, is guaranteed to compare unequal to a pointer to any object or function.</em></p></blockquote>
<p>在C++中，NULL却被<strong>明确</strong>定义为整常数0：</p>
<pre class="brush:cpp">
#define NULL 0
</pre>
<blockquote style="background-color:#F0F8FF"><p><em>A null pointer constant is an integral constant expression (5.19) rvalue of integer type that evaluates to zero.</em></p></blockquote>
<p>导致不同定义的根本原因是：隐式类型转换(implicit conversion)。</p>
<p>C的定义使得存在void*到0的隐式类型转换，而宏观表现则是，void*指针可以直接赋值给其他的指针类型</p>
<pre class="brush:cpp">
int* ptr = 0;
int* pptr = (void*)0; // both are legal in c
</pre>
<p>但是C++却不支持void*到其他类型的隐式转换，所以上面的代码在C++中并不能全部通过编译。</p>
<p><strong><span style="font-size: large;"><span style="color: rgb(0, 0, 255);">1.C++的解释</span></span></strong></p>
<p>为什么C++在NULL上选择不完全兼容C？原因和C++的重载函数有关。</p>
<p>C++通过搜索匹配参数的机制，试图找到最佳匹配（best-match）的函数，而如果继续支持void*的隐式类型转换，则会带来语义二义性（syntax ambiguous）的问题。</p>
<p>考虑下面两个重载函数：</p>
<pre class="brush:cpp">
void foo(int i);
void foo(char* p)

foo(NULL); // which is called?
</pre>
<p>编译器同时找到了两个最佳匹配，以至于连编译器都不知道选择哪个。</p>
<p>为了消除混乱，C++才会将NULL定义为整常数0。</p>
<p>但是，这么做又带来了另一个问题：NULL和整型发生了重叠。</p>
<p><strong><span style="font-size: large;"><span style="color: rgb(0, 0, 255);">2.C++的选择</span></span></strong></p>
<p>为了彻底解决NULL带来的问题，C++0x标准引入了一个新的关键字：nullptr。</p>
<p>nullptr是一个很神奇的关键字，他被定义为std::nullptr_t类型，这是一个泛指针类型（这个术语是我自己加的-.-），支持到其他指针类型的自动转换。并且不支持到除了bool类型以外的整型的转换。</p>
<p>由于nullptr具有类型，且支持到任何兼容的指针类型的转换，所以对于上述重载函数的调用，编译器会很明确的选择第二个函数。</p>
<p>不过，引入新关键字并不代表解决了一切问题。其代价也很明显：向后兼容性/习惯性和编译器的支持程度。</p>
<p>C++0x中保留了原来的NULL，所以旧的代码也可以通过编译。并且为了和C保持最大程度的兼容，在一段时间内，NULL都应该是支持的。</p>
<p>至于程序员对于nullptr的接受程度，那只能另当别论。</p>
<p>对于编译器，Visual Studio 2010已经开始支持C++0x中的大部分特性，自然包括nullptr。而VS2010之前的版本，都不支持此关键字。</p>
<p>Codeblocks10.5附带的G++ 4.4.1不支持nullptr，升级为4.6.1后可支持nullptr（需开启-std=c++0x编译选项）</p>
<p>其余编译器对于nullptr的支持就不是太清楚了。有需要的可自行翻阅Wiki。</p>
<p>考虑到目前的编译环境，用nullptr全面代替NULL不太现实，不过可以在文件头加入说明或使用预编译。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/697/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>一个常见的概率模型</title>
		<link>http://blog.kingsamchen.com/archives/696</link>
		<comments>http://blog.kingsamchen.com/archives/696#comments</comments>
		<pubDate>Sat, 04 Feb 2012 08:17:53 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[MATHEMATICS]]></category>
		<category><![CDATA[几何分布]]></category>
		<category><![CDATA[建模]]></category>
		<category><![CDATA[期望]]></category>
		<category><![CDATA[概率]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=696</guid>
		<description><![CDATA[考虑如下问题： 某个大学教授以随机评判论文而出名。对于每篇论文，教授所给的评分是均匀的分布在集合{A,A-,B+,B,B-,C+}里。那么，为使每个评分等级都至少有一篇论文，应该提交大概多少篇论文？ 这道题是MIT所用的教材Introduction to Probability中的一道习题。不仅解法非常巧妙，而且本质模型也很容易运用到生活中。 很显然，提交的论文数应该是一个期望值（上帝都没法保证所谓的“万年难得一遇”不会发生）。问题最后应该转化为一个概率期望的求解。 首先设X为最后提交的论文数，并且假设：当新提交的论文等级之前还未给出，则表示一次成功。即，我们将论文提交事件转化为伯努利试验。 再假设Xi为第i次成功和第i+1次成功间所提交的论文数，则有 因为第一次提交论文一定成功，所以没有X0。 并且容易发现，每一个随机变量Xi，都服从概率p=(6-i)/6的几何分布。 所以可以得到： 所以，大概提交15篇论文就可以使得每个等级都至少有一篇。 这个问题很容易可以模型化： 假设有一个事件序列，每个事件都是独立同分布，那么至少要进行多少次试验，才可以使得每个事件都至少发生一次？ 其实也不难看出，子事件发生的概率，只影响几何分布的概率。]]></description>
			<content:encoded><![CDATA[<p>考虑如下问题：</p>
<p>某个大学教授以随机评判论文而出名。对于每篇论文，教授所给的评分是均匀的分布在集合{A,A-,B+,B,B-,C+}里。那么，为使每个评分等级都至少有一篇论文，应该提交大概多少篇论文？</p>
<p>这道题是MIT所用的教材<em>Introduction to Probability</em>中的一道习题。不仅解法非常巧妙，而且本质模型也很容易运用到生活中。</p>
<p>很显然，提交的论文数应该是一个期望值（上帝都没法保证所谓的“万年难得一遇”不会发生）。问题最后应该转化为一个概率期望的求解。</p>
<p>首先设X为最后提交的论文数，并且假设：<strong>当新提交的论文等级之前还未给出，则表示一次成功</strong>。即，我们将论文提交事件转化为<span style="color:rgb(255, 0, 0)">伯努利试验</span>。</p>
<p>再假设X<sub>i</sub>为第i次成功和第i+1次成功间所提交的论文数，则有</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Clarge%20%5Cdpi%7B120%7D%20E%5Cleft%28X%20%5Cright%20%29%3D1&plus;%5Csum_%7Bi%3D1%7D%5E%7B5%7DX_%7Bi%7D%3D1&plus;%5Csum_%7Bi%3D1%7D%5E%7B5%7D%20E%5Cleft%28X_%7Bi%7D%20%5Cright%20%29" title="" style="border:none"/></p>
<p>因为第一次提交论文一定成功，所以没有X<sub>0</sub>。</p>
<p>并且容易发现，每一个随机变量X<sub>i</sub>，都服从概率p=(6-i)/6的几何分布。</p>
<p>所以可以得到：</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Clarge%20%5Cdpi%7B120%7D%20E%5Cleft%28X_%7Bi%7D%20%5Cright%20%29%3D%5Cfrac%7B1%7D%7BP%7D%5C%5C%20%5Cindent%20E%5Cleft%28X%20%5Cright%20%29%3D1&plus;%5Csum_%7Bi%3D1%7D%5E%7B5%7D%5Cfrac%7B6%7D%7B6-i%7D%3D14.7" title="" style="border:none"/></p>
<p>所以，大概提交15篇论文就可以使得每个等级都至少有一篇。</p>
<p>这个问题很容易可以模型化：</p>
<p>假设有一个事件序列<E1,E2,...En>，每个事件都是独立同分布，那么至少要进行多少次试验，才可以使得每个事件都至少发生一次？</p>
<p>其实也不难看出，子事件发生的概率，只影响几何分布的概率。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/696/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为何可以模拟估计概率</title>
		<link>http://blog.kingsamchen.com/archives/695</link>
		<comments>http://blog.kingsamchen.com/archives/695#comments</comments>
		<pubDate>Wed, 01 Feb 2012 12:06:50 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[MATHEMATICS]]></category>
		<category><![CDATA[估计]]></category>
		<category><![CDATA[概率]]></category>
		<category><![CDATA[模拟]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=695</guid>
		<description><![CDATA[当某个事件的概率p难以计算时，通常会通过物理的或计算机的方法进行模拟和估计：记录n次实验中事件发生的次数m，并用m/n近似作为该事件发生的概率p。 大量实践表明，这种模拟方法有很高的准确性。并且，我们可以在理论上证明其正确性。 首先假设X1&#8230;Xn为相同事件的序列（Xi为事件的示性变量，取1当事件发生>），并且满足 易知，整个事件序列表示的是n重伯努力试验（蕴含每次试验相互独立） 令 显然，X就是我们用来估计概率的模拟值。 我们接下来分别求出X的期望和方差： 观察X的期望和方差可以发现： 1)X的期望恰等于事件发生的概率p 2)X的方差随着n的增大而减小。这说明当n足够大时，X和真实概率p之间的差距可以忽略]]></description>
			<content:encoded><![CDATA[<p>当某个事件的概率p难以计算时，通常会通过物理的或计算机的方法进行模拟和估计：记录n次实验中事件发生的次数m，并用m/n近似作为该事件发生的概率p。</p>
<p>大量实践表明，这种模拟方法有很高的准确性。并且，我们可以在理论上证明其正确性。</p>
<p>首先假设X<sub>1</sub>&#8230;X<sub>n</sub>为相同事件的序列（<strong>X<sub>i</sub>为事件的示性变量，取1当事件发生></strong>），并且满足</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5CLARGE%20%5Cdpi%7B150%7D%20p%5Cleft%20%28%20x_%7Bi%7D%3Dk%20%5Cright%20%29%3D%5Cbegin%7Bcases%7D%20p%20%26%20%5Ctext%7B%20if%20%7D%20k%3D1%20%5C%5C%201-p%20%26%20%5Ctext%7B%20if%20%7D%20k%3D0%20%5Cend%7Bcases%7D" title="" style="border:none"/></p>
<p>易知，整个事件序列表示的是n重伯努力试验（蕴含每次试验相互独立）</p>
<p>令</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5CLARGE%20%5Cdpi%7B150%7D%20X%3D%5Cfrac%7Bx_%7B1%7D&plus;x_%7B2%7D&plus;...&plus;x_%7Bn%7D%7D%7Bn%7D" title="" style="border:none"/></p>
<p>显然，X就是我们用来估计概率的模拟值。</p>
<p>我们接下来分别求出X的期望和方差：</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5CLARGE%20%5Cdpi%7B150%7D%20E%5Cleft%20%28%20X%20%5Cright%20%29%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7DE%5Cleft%28X_%7Bi%7D%20%5Cright%20%29%5C%5C%20%5Cindent%20%3D%5Cfrac%7B1%7D%7Bn%7D%5Ccdot%20np%3Dp" title="" style="border:none"/><br />
<img src="http://latex.codecogs.com/gif.latex?\LARGE%20\dpi{150}%20Var\left%20(%20X%20\right%20)=\frac{1}{n^{2}}\sum_{i=1}^{n}Var\left(X_{i}%20\right%20)\\%20\indent%20=\frac{1}{n^{2}}\cdot%20np\left(1-p%20\right%20)\\%20\indent%20=\frac{p\left(1-p%20\right%20)}{n}" title="" style="border:none"/></p>
<p>观察X的期望和方差可以发现：</p>
<div style="color:rgb(255, 0, 0)">1)X的期望恰等于事件发生的概率p</p>
<p>2)X的方差随着n的增大而减小。这说明当n足够大时，X和真实概率p之间的差距可以忽略</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/695/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just one last dance —— Sarah Connor</title>
		<link>http://blog.kingsamchen.com/archives/693</link>
		<comments>http://blog.kingsamchen.com/archives/693#comments</comments>
		<pubDate>Mon, 23 Jan 2012 12:25:27 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[MUSIC]]></category>
		<category><![CDATA[Sarah Connor]]></category>
		<category><![CDATA[英文歌曲]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=693</guid>
		<description><![CDATA[忘了第一次在什么时候听到这首歌，大概是刚返家那会儿，某个偶然的机会下听到的吧。 听完前两句就沦陷了&#8230; just one last dance&#8230;.oh baby&#8230;just one last dance we meet in the night in the spanish café i look in your eyes just don&#8217;t know what to say it feels like i&#8217;m drowning in salty water a few hours left &#8217;til the sun&#8217;s gonna rise tomorrow will come an it&#8217;s time to realize [...]]]></description>
			<content:encoded><![CDATA[<p>忘了第一次在什么时候听到这首歌，大概是刚返家那会儿，某个偶然的机会下听到的吧。</p>
<p>听完前两句就沦陷了&#8230;</p>
<p><embed src="http://www.xiami.com/widget/5572844_3483194/singlePlayer.swf" type="application/x-shockwave-flash" width="257" height="33" wmode="transparent"></embed></p>
<p>just one last dance&#8230;.oh baby&#8230;just one last dance<br />
we meet in the night in the spanish café<br />
i look in your eyes just don&#8217;t know what to say<br />
it feels like i&#8217;m drowning in salty water<br />
a few hours left &#8217;til the sun&#8217;s gonna rise<br />
tomorrow will come an it&#8217;s time to realize<br />
our love has finished forever<br />
how i wish to come with you (wish to come with you)<br />
how i wish we make it through<br />
just one last dance<br />
before we say goodbye<br />
when we sway and turn round and round and round<br />
it&#8217;s like the first time</p>
<p>just one more chance<br />
hold me tight and keep me warm<br />
cause the night is getting cold<br />
and i don&#8217;t know where i belong<br />
just one last dance<br />
the wine and the lights and the spanish guitar<br />
i&#8217;ll never forget how romantic they are<br />
but i know, tomorrow i&#8217;ll lose the one i love<br />
there&#8217;s no way to come with you<br />
it&#8217;s the only thing to do oh~~<br />
<span id="more-693"></span><br />
just one last dance<br />
before we say goodbye<br />
when we sway and turn round and round and round<br />
it&#8217;s like the first time<br />
just one more chance<br />
hold me tight and keep me warm<br />
cause the night is getting cold<br />
and i don&#8217;t know where i belong<br />
just one last dance<br />
just one last dance<br />
before we say goodbye<br />
when we sway and turn round and round and round<br />
it&#8217;s like the first time<br />
just one more chance<br />
hold me tight and keep me warm<br />
cause the night is getting cold<br />
and i don&#8217;t know where i belong<br />
just one last dance<br />
before we say goodbye<br />
when we sway and turn round and round and round (when we sway turn around)<br />
it&#8217;s like the first time(hold my tight oh my love)</p>
<p>just one more chance<br />
hold me tight and keep me warm<br />
cause the night is getting cold(the night is getting cold)<br />
and i don&#8217;t know where i belong(don&#8217;t know where i belong)<br />
just one last dance<br />
just one last dance<br />
just one more chance<br />
just one more chance<br />
and just one last dance</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/693/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTC Radar和Kindle keyboard</title>
		<link>http://blog.kingsamchen.com/archives/690</link>
		<comments>http://blog.kingsamchen.com/archives/690#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:20:41 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[CODE LIFE]]></category>
		<category><![CDATA[HD2]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Radar]]></category>
		<category><![CDATA[扯淡]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=690</guid>
		<description><![CDATA[HTC Radar Radar是在6号回家那天在车站拿到手的，用于接替我那挂掉的HD2。 我的HD2命途多舛。10年8月被制造出来，准备销往德国，却在上路前被检出质量问题。很难想象质量有缺陷的产品能在德国这个工业制造强国生存，于是这台HD2辗转流落到了中关村。普天之下，再没有其他地方比中关村更适合它生存了！因为它需要的不只是一个买主，更是一个倒霉的垫背。 最后，我成了它的垫背。 都说HD2是神机，因为它可以刷目前几乎所有的智能机系统。但是这台HD2更像是瘟鸡，每隔三月，必然出现无法开机。时间之准足以令无数少女倾慕，如果其犯病间隔缩短到一个月，估计不消几日，便会被无数妙龄少女抢购一空。 经历前后三次的维修也最终没能使它摆脱成为大屏镜子的命运。 哥花了3.3K买了一个手机外形的镜子，未来这必将传为佳话！ HD2飞升后，我便开始寻找其继位者。原打算一年半载之后，趁着Lumia800降价将其购入，但神鸡的突然离去打乱了我的计划。一番搜索之后，将目标锁定在了HTC DHD和HTC Radar。 DHD应该无需多言，HD2的升级版，豪华配置，更关键的是，一年未至，价格已经从3.2K降至2K以下。但是对于WP Mango的向往最终使我选择了Radar。 Radar银白色外壳，3.8&#8242;的大小，显得更加婉约精致。不过我一直觉得这手机应该更适合女生，以致有好友误以为我是买来送给妹子的.. Mango系统比之Android流畅不少，也显得更加酷。只是用了大半年Android这种山寨OS之后，Mango使用起来有少许蛋疼： （1）系统必须要和一个LiveID绑定，而由于大家都懂得的原因，中国地区的ID是无法使用MarketPlace的，无奈下，我只好重新注册了一个LiveID，破费了一番功夫。 （2）同步需要结合Zune使用，不能直接当作U盘使用。并且仍旧是大家都懂得原因，机器的Location必须不能为PRC，否则Zune无法下载无法安装。不过这倒是没什么，哥的OS很早就是Lang=English， Location=US。 同步电影限制比较大，仅限WMV和MP4格式，其余格式在同步时都会同时进行格式转换。这对用惯了Android的人来说有点难以接受。 （3）Mango上的应用比我想象的要多得多，几乎我目前需要的都可以在MarketPlace搜索到，并且装的自然都是Free的。出于职业习惯，我并没有选择越狱。 （4）Mango上许多NB的应用都仅限非大陆地区，而且需要网络的支持。云端服务做得不错，联系人自动同步到LiveID上，MSN和短信紧密集成。 （5）部分细节做得差强人意，比如自定义铃声、提示声等条件苛刻，难以操作。 总的来说，Mango给我的感觉还是比较惊艳的，当然也有很大的改进空间。如果Mango能够在这些基础上不断的加以改进，市场份额的增长只是时间问题。 Kindle keyboard 由于专业和方向的原因，我有一坨数量多的吓人的书。但是书一多不仅携带不便，而且购书也需要不菲的支出。所以我经常会下一些原版的电子书。但是在笔记本上看电子书一个最大的缺点就是，看的时间长了，眼睛容易难受，而且很容易受到窗口中其他东西的影响而分身，的导致效率下降。 于是我打算买一个Kindle，以解决所有问题。 最初打算买Kindle DX，但是有人和我说这货体积太大，不便于携带。而且价格偏高（大约1.5K左右）。于是我选择了体积和价格都相对小一号的Kindle Keyboard。 到家拿到手里后，却发现我犯了一个巨大的错误：Keyboard太小了&#8230; 半张A4都不到的屏幕，你能指望用它来看满是代码和公式的专业书吗？ 想来熊叔和我说，他买Kindle Keyboard是用来看漫画的，我当时就震惊了。 不幸中的万幸是，这货用来看小说倒也凑合。 我现在最大的期许是，在大四前能赚到买DX的钱，然后再把Keyboard转手送给某妹子。由于某妹子尚未出现，所以这一计划显得比较遥远～]]></description>
			<content:encoded><![CDATA[<p><strong>HTC Radar</strong></p>
<p>Radar是在6号回家那天在车站拿到手的，用于接替我那挂掉的HD2。</p>
<p>我的HD2命途多舛。10年8月被制造出来，准备销往德国，却在上路前被检出质量问题。很难想象质量有缺陷的产品能在德国这个工业制造强国生存，于是这台HD2辗转流落到了中关村。普天之下，再没有其他地方比中关村更适合它生存了！因为它需要的不只是一个买主，更是一个倒霉的垫背。</p>
<p>最后，我成了它的垫背。</p>
<p>都说HD2是神机，因为它可以刷目前几乎所有的智能机系统。但是这台HD2更像是瘟鸡，每隔三月，必然出现无法开机。时间之准足以令无数少女倾慕，如果其犯病间隔缩短到一个月，估计不消几日，便会被无数妙龄少女抢购一空。</p>
<p>经历前后三次的维修也最终没能使它摆脱成为大屏镜子的命运。</p>
<p>哥花了3.3K买了一个手机外形的镜子，未来这必将传为佳话！</p>
<p>HD2飞升后，我便开始寻找其继位者。原打算一年半载之后，趁着Lumia800降价将其购入，但神鸡的突然离去打乱了我的计划。一番搜索之后，将目标锁定在了HTC DHD和HTC Radar。</p>
<p>DHD应该无需多言，HD2的升级版，豪华配置，更关键的是，一年未至，价格已经从3.2K降至2K以下。但是对于WP Mango的向往最终使我选择了Radar。<br />
<span id="more-690"></span><br />
Radar银白色外壳，3.8&#8242;的大小，显得更加婉约精致。不过我一直觉得这手机应该更适合女生，以致有好友误以为我是买来送给妹子的..</p>
<p>Mango系统比之Android流畅不少，也显得更加酷。只是用了大半年Android这种山寨OS之后，Mango使用起来有少许蛋疼：</p>
<p>（1）系统必须要和一个LiveID绑定，而由于大家都懂得的原因，中国地区的ID是无法使用MarketPlace的，无奈下，我只好重新注册了一个LiveID，破费了一番功夫。</p>
<p>（2）同步需要结合Zune使用，不能直接当作U盘使用。并且仍旧是大家都懂得原因，机器的Location必须不能为PRC，否则Zune无法下载无法安装。不过这倒是没什么，哥的OS很早就是Lang=English， Location=US。</p>
<p>同步电影限制比较大，仅限WMV和MP4格式，其余格式在同步时都会同时进行格式转换。这对用惯了Android的人来说有点难以接受。</p>
<p>（3）Mango上的应用比我想象的要多得多，几乎我目前需要的都可以在MarketPlace搜索到，并且装的自然都是Free的。出于职业习惯，我并没有选择越狱。</p>
<p>（4）Mango上许多NB的应用都仅限非大陆地区，而且需要网络的支持。云端服务做得不错，联系人自动同步到LiveID上，MSN和短信紧密集成。</p>
<p>（5）部分细节做得差强人意，比如自定义铃声、提示声等条件苛刻，难以操作。</p>
<p>总的来说，Mango给我的感觉还是比较惊艳的，当然也有很大的改进空间。如果Mango能够在这些基础上不断的加以改进，市场份额的增长只是时间问题。</p>
<p><strong>Kindle keyboard</strong></p>
<p>由于专业和方向的原因，我有一坨数量多的吓人的书。但是书一多不仅携带不便，而且购书也需要不菲的支出。所以我经常会下一些原版的电子书。但是在笔记本上看电子书一个最大的缺点就是，看的时间长了，眼睛容易难受，而且很容易受到窗口中其他东西的影响而分身，的导致效率下降。</p>
<p>于是我打算买一个Kindle，以解决所有问题。</p>
<p>最初打算买Kindle DX，但是有人和我说这货体积太大，不便于携带。而且价格偏高（大约1.5K左右）。于是我选择了体积和价格都相对小一号的Kindle Keyboard。</p>
<p>到家拿到手里后，却发现我犯了一个巨大的错误：Keyboard太小了&#8230;</p>
<p>半张A4都不到的屏幕，你能指望用它来看满是代码和公式的专业书吗？</p>
<p><a href="https://public.bay.livefilestore.com/y1pGSK84b8EO4B-oFJBvonushNG7kW-EBOG5I64YrAEkDN5Q0OT_hL9sFckI7SbBnxQTZXuavyRvBrlsZZfwDxOMg/WP_000006.jpg"><img src="https://public.bay.livefilestore.com/y1pGSK84b8EO4B-oFJBvonushNG7kW-EBOG5I64YrAEkDN5Q0OT_hL9sFckI7SbBnxQTZXuavyRvBrlsZZfwDxOMg/WP_000006.jpg" title="" class="" width="460" height="614" style=""/></a></p>
<p>想来熊叔和我说，他买Kindle Keyboard是用来看漫画的，我当时就震惊了。</p>
<p>不幸中的万幸是，这货用来看小说倒也凑合。</p>
<p><a href="https://public.bay.livefilestore.com/y1pw-TnGRbjChbrj2nsxOnn2I9RCrQeLAxwLGWw1lBG3dd4d_D3e9-VJ1tjsSu2Pn34G4yHG9wYPxjgw52jaHlTEA/WP_000009.jpg"><img src="https://public.bay.livefilestore.com/y1pw-TnGRbjChbrj2nsxOnn2I9RCrQeLAxwLGWw1lBG3dd4d_D3e9-VJ1tjsSu2Pn34G4yHG9wYPxjgw52jaHlTEA/WP_000009.jpg" title="" class="" width="614" height="460" style=""/></a><br />
<a href="https://public.bay.livefilestore.com/y1pw-TnGRbjChYNkQ9l8D3--cw6oVCo2mg2EgeG78xPUPZNxnZcIhrWqF8zNYilymyC3ywMd4ajnM-9gWBePqv0vw/WP_000010.jpg"><img src="https://public.bay.livefilestore.com/y1pw-TnGRbjChYNkQ9l8D3--cw6oVCo2mg2EgeG78xPUPZNxnZcIhrWqF8zNYilymyC3ywMd4ajnM-9gWBePqv0vw/WP_000010.jpg" title="" class="" width="614" height="460" style=""/></a></p>
<p>我现在最大的期许是，在大四前能赚到买DX的钱，然后再把Keyboard转手送给某妹子。由于某妹子尚未出现，所以这一计划显得比较遥远～</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/690/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>手机坏了，网断了</title>
		<link>http://blog.kingsamchen.com/archives/688</link>
		<comments>http://blog.kingsamchen.com/archives/688#comments</comments>
		<pubDate>Mon, 02 Jan 2012 01:57:44 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[CODE LIFE]]></category>
		<category><![CDATA[手机坏了]]></category>
		<category><![CDATA[断网]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=688</guid>
		<description><![CDATA[RT 经常看我日志的小朋友会发现，我特别喜欢在日志开头用RT。这么做其实是因为可以在日志里占两行（包括换行），不过今天呢，是三行。。 前天早上一起来，发现手机闹铃没有如约响起，按了下按钮，手机一点反应都没有了&#8230;起初以为是电池没电，将电池放入充电器充电，充满后才发现真正的杯具来了。。。手机启动卡在了HTC标志。捅了复位键依旧。 压抑着悲痛，换了备用手机，N年前的三星。并打电话让椿哥帮忙买个新手机：HTC　Radar。 此过程插曲很多，以后叙说。椿哥说Radar用着很不错～啧啧，无比期待 有小朋友会问，你丫不是没网了嘛？？ 没错，我的帐号从1 Jan 2012到期，我6 Jan 2012就回家了，而一个月的网费至少30￥，我会续费吗？？ apparently not! 我是接了同学的帐号上的。而且得确定是在他不上的时候。 嗯，其他事情以后再说吧～]]></description>
			<content:encoded><![CDATA[<p>RT</p>
<p>经常看我日志的小朋友会发现，我特别喜欢在日志开头用RT。这么做其实是因为可以在日志里占两行（包括换行），不过今天呢，是三行。。</p>
<p>前天早上一起来，发现手机闹铃没有如约响起，按了下按钮，手机一点反应都没有了&#8230;起初以为是电池没电，将电池放入充电器充电，充满后才发现真正的杯具来了。。。手机启动卡在了HTC标志。捅了复位键依旧。</p>
<p>压抑着悲痛，换了备用手机，N年前的三星。并打电话让椿哥帮忙买个新手机：HTC　Radar。</p>
<p>此过程插曲很多，以后叙说。椿哥说Radar用着很不错～啧啧，无比期待</p>
<p>有小朋友会问，你丫不是没网了嘛？？</p>
<p>没错，我的帐号从1 Jan 2012到期，我6 Jan 2012就回家了，而一个月的网费至少30￥，我会续费吗？？ apparently not! </p>
<p>我是接了同学的帐号上的。而且得确定是在他不上的时候。</p>
<p>嗯，其他事情以后再说吧～</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/688/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>第一个考试周结束</title>
		<link>http://blog.kingsamchen.com/archives/686</link>
		<comments>http://blog.kingsamchen.com/archives/686#comments</comments>
		<pubDate>Sun, 25 Dec 2011 14:21:50 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[CODE LIFE]]></category>
		<category><![CDATA[扯淡]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=686</guid>
		<description><![CDATA[RT 几天奋战，第一个考试周终于结束了，sigh~ 接下来是长达8天的休息时间，需要好好重新规划安排下。]]></description>
			<content:encoded><![CDATA[<p>RT</p>
<p>几天奋战，第一个考试周终于结束了，sigh~</p>
<p>接下来是长达8天的休息时间，需要好好重新规划安排下。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/686/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>月中记</title>
		<link>http://blog.kingsamchen.com/archives/685</link>
		<comments>http://blog.kingsamchen.com/archives/685#comments</comments>
		<pubDate>Mon, 19 Dec 2011 05:53:13 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[CODE LIFE]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=685</guid>
		<description><![CDATA[12月中都过了好几天了，这个学期也快结束了吧。 PART1 现在面临的，基本上也就是各种考试。 上周六考完六级，我不仅表示很淡定，还尼玛蛋疼。更离奇的是一回来就听到有关试题、答案泄漏的消息。 这周是第一个考试周，大小总计5门考试：Java 电工电子 毛概 操作系统 和 网络操作系统。其实我挺担心电工会挂的…… 这周过去之后，差不多是8天的休息，接着结束掉剩下三科就可以滚回家了。 PART2 前几天运气不错，秒到了特价机票。裸票205，总计395。6号8点从天津飞往上哈浦东。 加上和郁磊志超一块飞，打的钱都可以少花不少。 不过由于车站都在虹桥，还得拉着大包小包从浦东跑到虹桥…… 过几天还得在顶一张虹桥发车的动车票。晨晨说他们下周二5点起床秒杀车票。现在打算暂时和他们一起买TvT PART3 上周一，新图书馆的理工二三区终于开放了，在里面发现了不少的好书。 尤其三区原版书库，各种surprise。顺便从三区捞了本APUE 2nd 的英文版，打算寒假和Win核心编程一块看。加强下OS Kernel这块。 整理了下书单，这次回家差不多要带14本左右的书……好吧，的确很多。 其中的四本数学估计开学初还得在带回学校。没办法，数学这块不能急。 比较兴奋的是，回去就可以用Kindle了，还是比较期待的。一来可以见识下传说中的墨水瓶，二来可以利用收藏的电子书搭建一个个人小型图书馆了～ PART4 手机最近又出问题了……唉，老毛病了。 上周刷了MIUI的Android，结果当天下午就病发了。事实证明，硬件坏了…… 想买NOKIA Lumia 800，主要是看中WP7.5。不过现在的价格似乎有点高，3600+让我去买个手机还真不知道值不值。 还是等半年等他降价吧…… Final 最后预祝下我考试不挂科]]></description>
			<content:encoded><![CDATA[<p>12月中都过了好几天了，这个学期也快结束了吧。</p>
<p><strong>PART1</strong></p>
<p>现在面临的，基本上也就是各种考试。</p>
<p>上周六考完六级，我不仅表示很淡定，还尼玛蛋疼。更离奇的是一回来就听到有关试题、答案泄漏的消息。</p>
<p>这周是第一个考试周，大小总计5门考试：Java 电工电子 毛概 操作系统 和 网络操作系统。其实我挺担心电工会挂的……</p>
<p>这周过去之后，差不多是8天的休息，接着结束掉剩下三科就可以滚回家了。</p>
<p><strong>PART2</strong></p>
<p>前几天运气不错，秒到了特价机票。裸票205，总计395。6号8点从天津飞往上哈浦东。</p>
<p>加上和郁磊志超一块飞，打的钱都可以少花不少。</p>
<p>不过由于车站都在虹桥，还得拉着大包小包从浦东跑到虹桥……</p>
<p>过几天还得在顶一张虹桥发车的动车票。晨晨说他们下周二5点起床秒杀车票。现在打算暂时和他们一起买TvT</p>
<p><strong>PART3</strong></p>
<p>上周一，新图书馆的理工二三区终于开放了，在里面发现了不少的好书。</p>
<p>尤其三区原版书库，各种surprise。顺便从三区捞了本APUE 2nd 的英文版，打算寒假和Win核心编程一块看。加强下OS Kernel这块。</p>
<p>整理了下书单，这次回家差不多要带14本左右的书……好吧，的确很多。</p>
<p>其中的四本数学估计开学初还得在带回学校。没办法，数学这块不能急。</p>
<p>比较兴奋的是，回去就可以用Kindle了，还是比较期待的。一来可以见识下传说中的墨水瓶，二来可以利用收藏的电子书搭建一个个人小型图书馆了～</p>
<p><strong>PART4</strong></p>
<p>手机最近又出问题了……唉，老毛病了。</p>
<p>上周刷了MIUI的Android，结果当天下午就病发了。事实证明，硬件坏了……</p>
<p>想买NOKIA Lumia 800，主要是看中WP7.5。不过现在的价格似乎有点高，3600+让我去买个手机还真不知道值不值。</p>
<p>还是等半年等他降价吧……</p>
<p><strong>Final</strong></p>
<p>最后预祝下我考试不挂科</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/685/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>C++中的私有继承</title>
		<link>http://blog.kingsamchen.com/archives/683</link>
		<comments>http://blog.kingsamchen.com/archives/683#comments</comments>
		<pubDate>Sun, 11 Dec 2011 07:08:58 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[CODE LIFE]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[has-a]]></category>
		<category><![CDATA[私有继承]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=683</guid>
		<description><![CDATA[和大多数OO语言不同C++允许私有继承（private inheritance）。 对于公有继承而言，子类和父类间的关系是is-a。即，每一个子对象都是父对象。 因而父类中的所有实现和接口对于子类来说，可见性都是维持不变的。 但是私有继承会改变父类中接口和实现在子类中的可见性（均变为private），故私有继承不是is-a的模型。 事实上，私有继承对应has-a或is-implemented-in-terms-of的继承模型。 而has-a或is-implemented-in-terms-of模型大部分情况下，可以使用包含所需类的对象为成员的策略解决，这让私有继承的存在显得有点多余。 不过私有继承在绝大多数情况下，有两个主要的用途。 (1)在避免产生不符合逻辑的is-a关系的前提下改写某个类的虚函数 比如有一个在桌面显示小东西的类Widget，需要定时处理一些事件，因此它需要改写类Timer的虚函数。但是因为Timer和Widget没有逻辑联系，所以不能使用公有继承。 此时，私有继承则可以很优雅的解决问题 class Timer { public: explicit Timer(int tickFrequency); // automatically called for each tick virtual void onTick() const; }; class Widget: private Timer { private: virtual void onTick() const; }; 当然，如果执意不用私有继承也可以解决。所用策略一般是，使用嵌套一个继承自（公有继承）自目标类的方式： class Widget { private: class WidgetTimer: public Timer { public: virtual void onTick() const; [...]]]></description>
			<content:encoded><![CDATA[<p>和大多数OO语言不同C++允许私有继承（<em>private inheritance</em>）。</p>
<p>对于公有继承而言，子类和父类间的关系是<strong>is-a</strong>。即，每一个子对象都是父对象。</p>
<p>因而父类中的所有实现和接口对于子类来说，可见性都是维持不变的。</p>
<p>但是私有继承会改变父类中接口和实现在子类中的可见性（均变为private），故私有继承不是is-a的模型。</p>
<p>事实上，私有继承对应<strong>has-a</strong>或<strong>is-implemented-in-terms-of</strong>的继承模型。</p>
<p>而has-a或is-implemented-in-terms-of模型大部分情况下，可以使用<strong>包含所需类的对象为成员</strong>的策略解决，这让私有继承的存在显得有点多余。</p>
<p>不过私有继承在绝大多数情况下，有两个主要的用途。</p>
<p>(1)在避免产生不符合逻辑的is-a关系的前提下改写某个类的虚函数</p>
<p>比如有一个在桌面显示小东西的类Widget，需要定时处理一些事件，因此它需要改写类Timer的虚函数。但是因为Timer和Widget没有逻辑联系，所以不能使用公有继承。</p>
<p>此时，私有继承则可以很优雅的解决问题</p>
<pre class="brush:cpp">
class Timer
{
	public:
		explicit Timer(int tickFrequency);

		// automatically called for each tick
		virtual void onTick() const;
};

class Widget: private Timer
{
	private:
	  virtual void onTick() const;

};
</pre>
<p>当然，如果执意不用私有继承也可以解决。所用策略一般是，<strong>使用嵌套一个继承自（公有继承）自目标类</strong>的方式：</p>
<pre class="brush:cpp">
class Widget
{
	private:
		class WidgetTimer: public Timer
		{
		   	public:
			    virtual void onTick() const;

		};

	WidgetTimer timer;
};
</pre>
<p>虽然能达到同样的效果，但是和使用私有继承相比，显得笨拙不少。</p>
<p><span style="color:rgb(0, 0, 255)">故私有继承常用于管理钩子或者回调函数。</span></p>
<p><br/></p>
<p>使用私有继承的另外一种情况是：当你需要继承一个什么数据都没有的类。例如，只用于存放typedef定义和函数声明的类（这种类在STL等库中很常见）。</p>
<p>之所以采用私有继承，和C++的处理机制有关：<strong>C++规定对象大小必须至少为一</strong></p>
<p>所以C++会让那些“空类”对象在内存中占有一定的空间，即</p>
<pre class="brush:cpp">
class Empty{}; // sizeof(Empty) &gt; 0
</pre>
<p>对于大多数编译器，他们会在你毫不知情的情况下偷偷插入一个char数据类型。</p>
<p>因此，如果采用组合（composition）的实现方式，会引起不必要的内存开销，这可能还要算上内存对齐产生的间隙。而私有继承则后，子类不会再是空数据，编译器不会再偷插入数据，可以避免这一浪费。</p>
<p>这种优化成为<strong>Empty Base Optimization</strong>（EBO）。且EBO只能在Single Inheritance下起作用。</p>
<p>一个很有意思的事实是，私有继承常和另一个受众人嗤之以鼻的继承模型&#8211;多重继承一块儿使用。</p>
<p>总而言之，仅在证明使用私有继承比所有可选方法更有效时，才采取这一做法。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/683/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>长系列赛对谁有利？</title>
		<link>http://blog.kingsamchen.com/archives/678</link>
		<comments>http://blog.kingsamchen.com/archives/678#comments</comments>
		<pubDate>Thu, 01 Dec 2011 02:03:55 +0000</pubDate>
		<dc:creator>kingsamchen</dc:creator>
				<category><![CDATA[MATHEMATICS]]></category>
		<category><![CDATA[NBA]]></category>
		<category><![CDATA[数学建模]]></category>
		<category><![CDATA[概率]]></category>
		<category><![CDATA[长系列赛制分析]]></category>

		<guid isPermaLink="false">http://blog.kingsamchen.com/?p=678</guid>
		<description><![CDATA[NBA季后赛从02-03赛季开始，首轮即采用7局四胜制。 从一方面，这提高了收视率，实现了商业最大化；而从另一方面，这也对比赛结果产生了一定影响。 那么采用长系列赛制对谁更有利？一个直觉性的答案是对强队有利，因为长系列赛制可以减少非实力因素带来的干扰，降低某支球队被黑的概率。 我们可以建立一个简单的模型进行验证。 假设：湖人队和凯尔特人对在总决赛相遇，双方要打n场比赛，其中n为奇数。设湖人队赢一场比赛的概率为p，且每场比赛相互独立。求p的取值范围，使得对于湖人队来说，n=2k+1比n=2k-1更加有利。 很容易知道，湖人队和凯尔特人队获胜的场数是二项随机变量（Binomial Random Variable）。 一个简单的方法是：假设共打了i场比赛，湖人队胜利k（k+1）场，利用最后一场决定输赢的策略，从i=k（k+1）累加到i=2k-1(2k+1)，最后做差。 但是这样的到的结果难于手工计算。 为此，我们使用另一种策略： 我们设N为前2k-1场比赛中湖人队获胜的场次数，设事件A、B分别为打2k+1场和打2k-1场比赛，则 上面我们假设打满2k-1场，即不考虑中途获胜结束（这对结果不会有影响）。我们将样本空间做了分割，并分别利用全概率定理和可加性求出P(A)和P(B) 为了求出p的范围，我们对P(A)和P(B)进行做差 也就是说，只要湖人队一场比赛获胜概率超过1/2，那么长系列赛对其总是有利的，这也与前面我们提到的直观感觉相符合。]]></description>
			<content:encoded><![CDATA[<p>NBA季后赛从02-03赛季开始，首轮即采用7局四胜制。</p>
<p>从一方面，这提高了收视率，实现了商业最大化；而从另一方面，这也对比赛结果产生了一定影响。</p>
<p>那么采用长系列赛制对谁更有利？一个直觉性的答案是对强队有利，因为长系列赛制可以减少非实力因素带来的干扰，降低某支球队被黑的概率。</p>
<p>我们可以建立一个简单的模型进行验证。</p>
<p><strong>假设：湖人队和凯尔特人对在总决赛相遇，双方要打n场比赛，其中n为奇数。设湖人队赢一场比赛的概率为p，且每场比赛相互独立。求p的取值范围，使得对于湖人队来说，n=2k+1比n=2k-1更加有利。</strong></p>
<p>很容易知道，湖人队和凯尔特人队获胜的场数是二项随机变量（Binomial Random Variable）。</p>
<p>一个简单的方法是：假设共打了i场比赛，湖人队胜利k（k+1）场，利用最后一场决定输赢的策略，从i=k（k+1）累加到i=2k-1(2k+1)，最后做差。</p>
<p>但是这样的到的结果难于手工计算。</p>
<p>为此，我们使用另一种策略：</p>
<p>我们设N为前2k-1场比赛中湖人队获胜的场次数，设事件A、B分别为打2k+1场和打2k-1场比赛，则</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Clarge%20%5Cdpi%7B150%7D%20P%5Cleft%20%28%20A%20%5Cright%20%29%3DP%5Cleft%20%28%20N%3Dk-1%20%5Cright%20%29p%5E%7B2%7D&plus;P%5Cleft%20%28%20N%3Dk%20%5Cright%20%29%5Cleft%20%28%201-%5Cleft%20%28%201-p%20%5Cright%20%29%5E%7B2%7D%20%5Cright%20%29&plus;%5C%5C%20%5Cindent%20%7E%7E%7E%7E%7E%7E%7E%7E%7E%7E%7EP%5Cleft%20%28N%3E%3Dk&plus;1%20%5Cright%20%29" align = "left" style="border:none;"/><br />
<img src="http://latex.codecogs.com/gif.latex?%5Clarge%20%5Cdpi%7B150%7D%20P%5Cleft%20%28%20B%20%5Cright%20%29%3DP%5Cleft%20%28%20N%3E%3Dk%20%5Cright%20%29%5C%5C%20%5Cindent%7E%7E%7E%7E%7E%7E%7E%3DP%5Cleft%20%28%20N%3Dk%20%5Cright%20%29&plus;P%5Cleft%20%28%20N%3E%3Dk&plus;1%20%5Cright%20%29"  style="border:none;" /></p>
<p>上面我们假设打满2k-1场，即不考虑中途获胜结束（这对结果不会有影响）。我们将样本空间做了分割，并分别利用全概率定理和可加性求出P(A)和P(B)</p>
<p>为了求出p的范围，我们对P(A)和P(B)进行做差</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Clarge%20%5Cdpi%7B150%7D%20P%5Cleft%20%28%20A%20%5Cright%20%29-P%5Cleft%20%28%20B%20%5Cright%20%29%3D%5Cbinom%7B2k-1%7D%7Bk-1%7Dp%5E%7Bk&plus;1%7D%5Cleft%20%28%201-p%20%5Cright%20%29%5E%7Bk%7D-%5C%5C%20%5Cindent%20%5Cbinom%7B2k-1%7D%7Bk%7Dp%5E%7Bk%7D%5Cleft%20%28%201-p%20%5Cright%20%29%5E%7Bk&plus;1%7D%5C%5C%20%5Cindent%20%3D%20%5Cbinom%7B2k-1%7D%7Bk%7Dp%5E%7Bk%7D%5Cleft%20%28%201-p%20%5Cright%20%29%5E%7Bk%7D%5Cleft%20%28%202p-1%20%5Cright%20%29%3E0%5C%5C%5C%5C%20%5Cindent%20%5Ctherefore%20p%20%3E%20%5Cfrac%7B1%7D%7B2%7D" style="border:none;" /></p>
<p>也就是说，只要湖人队一场比赛获胜概率超过1/2，那么长系列赛对其总是有利的，这也与前面我们提到的直观感觉相符合。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kingsamchen.com/archives/678/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

