- 注册时间
- 2009-8-13
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 12
- 在线时间
- 小时
|
发表于 2009-8-13 12:53:57
|
显示全部楼层
本帖最后由 halfcard 于 2009-8-13 13:02 编辑
先列nnd的公式
$P(m,n)=\frac{m-n}{m}P(m-1,n)+\frac{n}{m}P(m-1,n-1)-\frac{n}{m}\frac{C_{m-15}^{n-14}}{C_{m-1}^{n-1}}P(m-15,n-14))$
这个公式是对的,对它简化,令f(m,n)表示m个数中有n个1和m-n个0,不含14+连号的个数,将下列公式代入上式
$p(m,n)=\frac{f(m,n)}{C_{m}^{n}}$
另外三个类似。
就可得到f(m,n)=f(m-1,n)+f(m-1,n-1)-f(m-15,n-14)
这个式子得到也可这样来考虑:将m个数分成两类,第一类是第一个数是0,则不含14+连号的个数为f(m-1,n);
第二类是第一个数是1,则不含14+连号的个数为f(m-1,n-1),但前13个数为1,第14个数为0的个数f(m-15,n-14)要去掉。
这个公式的初始条件为
$(1)0\leq i=j\leq 13,f(i,j)=1;(2)14\leq i=j\leq 514,f(i,j)=0$
$(3)0\leq i< j\leq 514,f(i,j)=0;(4)j\leq 13,i>j,f(i,j)=C_{i}^{j}$
算法就用shshsh_0510的方法,建一个矩阵,将初始条件填好,再用循环算f(m,n)=f(m-1,n)+f(m-1,n-1)-f(m-15,n-14)
我用mathematica6算,得到
f(1138,514)=4284074396221510886275861026177997288725264485159302362978066655607478
2032658507566320945128720606753357196632016576372051645816236394422705
6561316392074446585309130262208581029387259788576843150181617698574122
4398022362115709600005522979455098441048656026253762518234417944625658
31631008360066615506863519397899985401299201968936033633750
这个数和shshsh_0510的公式得到的数加起来就是
$C_{1138}^{514}$
我用概率加法公式(容斥原理)也得到相应结果,计算过程也采用了shshsh_0510的矩阵方法。非常感谢shshsh_0510.
http://e.ys168.com/?halfcard 常规\14连号概率.pdf |
|