avatar
f*w
1
有一个藥罐子,最初里面放了100颗整颗药,每颗药能掰成两个半颗。
每次从药罐子里随机取出一片药,如果是整颗药,就掰成两半,吃掉半颗,放回半颗。
如果是半颗,就吃掉这半颗。
现在求第n次取药的时候娶到半颗的概率
double halfChance(int n)
我的一点思路
如果取到的是整颗,那罐子里的总数是不变的,极端情况n次都正好是取到整颗,那n轮
后罐子里还是100颗药,此时包涵了n个半颗和(100-n)个整颗
如果取到的是半颗,总数会-1,极端情况n次都是先取整颗,再取半颗,那n轮后罐子
里还有100-n/2颗药,如果n是偶数,那现在罐子里没有半颗,如果n是奇数,那现在罐
子里只有一个半颗
感觉得怎么递归一下?
avatar
y*o
2
我家小朋友今年5岁大, 已经在读K2, 因为老公就快生日, 所以我打算一家去个
Birthday trip~
avatar
x*o
4
【巴西世界杯分组揭晓】
12月7日凌晨,2014巴西世界杯分组抽签仪式在巴西东北部巴伊亚州绍伊皮海滨举行,
素有悲情命运的英格兰再次被分入死亡之组,同组的还有乌拉圭、哥斯达黎加和意大利
。参加仪式的英足总主席格雷•戴克一边无奈地露出尴尬的微笑,一边还做出了
一个惊人手势——割喉,仿佛在说“我们死定了”。
这次巴西世界杯分组抽签,中国队抽了上上签,成功避开了所有32支强队!
avatar
k*s
5
既然是写程序的话,估计就不是用巧方法算的。
暴力法
建个二叉树, 把每个分支的概率都标上,最后把叶子节点的概率加一下。
avatar
y*o
6
可能小小地玩4日3夜这样, 加上星期六、日的话, 不过我希望可以去一些她可以学到东
西的地方, 不要只是玩, 而我跟老公又可以relax下~ 那就最perfect啦~ 不知道有没有
人可以给些suggestion我呢?
avatar
z*3
8
未战先怂丢人,乌拉圭的弗兰老了吧,除了苏亚雷斯还有谁?
avatar
l*7
9
我猜一下,感觉是1-(n-1)!/100**(n-1)

【在 k****s 的大作中提到】
: 既然是写程序的话,估计就不是用巧方法算的。
: 暴力法
: 建个二叉树, 把每个分支的概率都标上,最后把叶子节点的概率加一下。

avatar
n*f
10
对小孩来说,玩就是学习,何必分那么清楚。
实在想学东西,就去动物园,水族馆,博物馆(纽约自然历史博物馆那类)。不过可能
小孩高兴了,你们大人不一定喜欢。
可以考虑去纽约。 自然历史博物馆很增长见识,帝国大厦,自由女神像,中央公园,
甚至乘地铁对会让小孩留下深刻印象。
avatar
K*y
11
烂机身 CANON EOS XT 我以后换个好点,二手的也行,我懒没拍什么好照片

【在 r*********n 的大作中提到】
: 啥机身?
avatar
M*8
12
过去有个蠢猪说什么“中国队在哪个组,哪个组就是死亡之组”。
该蠢猪不懂“死亡之组”的含义。
要真的在世界杯上,中国队在哪个组,哪个组就事实上只有3个队。
他应该在“死亡之组”前面加个定语:“中国队的”。
avatar
l*7
13
又想了下,是不是应该算取不到半颗的几率是多少?

【在 l**********7 的大作中提到】
: 我猜一下,感觉是1-(n-1)!/100**(n-1)
avatar
h*m
14
楼主小孩上个月10岁,这个月就5岁了。长得真快!:)
avatar
K*y
15
没啥意思的照片

【在 K*******y 的大作中提到】
: 烂机身 CANON EOS XT 我以后换个好点,二手的也行,我懒没拍什么好照片
avatar
m*d
16
乌拉圭、哥斯达黎加和意大利算什么强队?
avatar
e*l
17
感觉解析式比较难,是多个不同概率事件发生次数的和
avatar
B*y
18
只有我看不懂k2是哪里的学制,
因而不敢给" suggestion"滴?
这个年纪,
我觉得迪士尼邮轮是蛮不错的选择呢,
大人在船上休息,
小孩可以尽情的玩。
avatar
r*n
19
50/1.4按到XT上就不是标头了,想要标头的感觉,上个35/2试一试?

【在 K*******y 的大作中提到】
: 烂机身 CANON EOS XT 我以后换个好点,二手的也行,我懒没拍什么好照片
avatar
a*p
20
Cavani

【在 z*****3 的大作中提到】
: 未战先怂丢人,乌拉圭的弗兰老了吧,除了苏亚雷斯还有谁?
avatar
k*a
21
假设 p(n, k) 是n次以后有k个half pill的概率
如果n次以后是k, 那么n-1次的时候要么是k-1, 要么是k+1
这样,对这个vector可以做个递归 p(n, k) = f(n-1, k-1)*p(n-1, k-1) + (1-f(n-1,
k+1))*p(n-1, k+1)
其中 f(n, k)表示取到整科的概率,很容易可以得到
这样可以通过循环或者递归来得到结果
avatar
M*s
22
动物园

【在 y**o 的大作中提到】
: 我家小朋友今年5岁大, 已经在读K2, 因为老公就快生日, 所以我打算一家去个
: Birthday trip~

avatar
K*y
23
谢谢回复,反正我就是想买个镜头,我来潜水做研究,一定要买一个
avatar
M*9
24
国家直接禁止中国男足参加这种项目算了。 浪费钱。

【在 M******8 的大作中提到】
: 过去有个蠢猪说什么“中国队在哪个组,哪个组就是死亡之组”。
: 该蠢猪不懂“死亡之组”的含义。
: 要真的在世界杯上,中国队在哪个组,哪个组就事实上只有3个队。
: 他应该在“死亡之组”前面加个定语:“中国队的”。

avatar
d*t
25
明显DP肥概率。

【在 f********w 的大作中提到】
: 有一个藥罐子,最初里面放了100颗整颗药,每颗药能掰成两个半颗。
: 每次从药罐子里随机取出一片药,如果是整颗药,就掰成两半,吃掉半颗,放回半颗。
: 如果是半颗,就吃掉这半颗。
: 现在求第n次取药的时候娶到半颗的概率
: double halfChance(int n)
: 我的一点思路
: 如果取到的是整颗,那罐子里的总数是不变的,极端情况n次都正好是取到整颗,那n轮
: 后罐子里还是100颗药,此时包涵了n个半颗和(100-n)个整颗
: 如果取到的是半颗,总数会-1,极端情况n次都是先取整颗,再取半颗,那n轮后罐子
: 里还有100-n/2颗药,如果n是偶数,那现在罐子里没有半颗,如果n是奇数,那现在罐

avatar
m*s
26
游轮

【在 y**o 的大作中提到】
: 我家小朋友今年5岁大, 已经在读K2, 因为老公就快生日, 所以我打算一家去个
: Birthday trip~

avatar
d*0
27
35L在向你招手
avatar
S*s
28
你这样的人太多也是中国足球落后的一个原因吧。人家都是降级也照样支持的铁杆球迷。

【在 M*********9 的大作中提到】
: 国家直接禁止中国男足参加这种项目算了。 浪费钱。
avatar
e*l
29
算出来第100次是0.5321961583405941,有没有人对一下答案
avatar
p*e
30
大班的意思:)
我觉得都好,看古迹,度假,邮轮,找个海边也不错的

【在 B**********y 的大作中提到】
: 只有我看不懂k2是哪里的学制,
: 因而不敢给" suggestion"滴?
: 这个年纪,
: 我觉得迪士尼邮轮是蛮不错的选择呢,
: 大人在船上休息,
: 小孩可以尽情的玩。

avatar
B*G
31
35/2不如28/1.8,至少有个金圈。

【在 r*********n 的大作中提到】
: 50/1.4按到XT上就不是标头了,想要标头的感觉,上个35/2试一试?
avatar
A*k
32
此话有理
但更重要的是:英格兰是什么队?

【在 m**d 的大作中提到】
: 乌拉圭、哥斯达黎加和意大利算什么强队?
avatar
K*y
34
如果我买个 CANON 17-40 的镜头呢,拍风景
avatar
t*t
35
其实是中国队不屑于跟他们比赛。

【在 x****o 的大作中提到】
: 【巴西世界杯分组揭晓】
: 12月7日凌晨,2014巴西世界杯分组抽签仪式在巴西东北部巴伊亚州绍伊皮海滨举行,
: 素有悲情命运的英格兰再次被分入死亡之组,同组的还有乌拉圭、哥斯达黎加和意大利
: 。参加仪式的英足总主席格雷•戴克一边无奈地露出尴尬的微笑,一边还做出了
: 一个惊人手势——割喉,仿佛在说“我们死定了”。
: 这次巴西世界杯分组抽签,中国队抽了上上签,成功避开了所有32支强队!

avatar
K*y
37
有点贵,因为我拍不出好作品

【在 d*****0 的大作中提到】
: 35L在向你招手
avatar
b*i
38
lol

【巴西世界杯分组揭晓】12月7日凌晨,2014巴西世界杯分组抽签仪式在巴西东北部巴
伊亚州绍伊皮海滨举行,素有悲情命运的英格兰再次被分入死亡之组,同组的还有乌拉
圭、哥斯达黎加和意........

【在 x****o 的大作中提到】
: 【巴西世界杯分组揭晓】
: 12月7日凌晨,2014巴西世界杯分组抽签仪式在巴西东北部巴伊亚州绍伊皮海滨举行,
: 素有悲情命运的英格兰再次被分入死亡之组,同组的还有乌拉圭、哥斯达黎加和意大利
: 。参加仪式的英足总主席格雷•戴克一边无奈地露出尴尬的微笑,一边还做出了
: 一个惊人手势——割喉,仿佛在说“我们死定了”。
: 这次巴西世界杯分组抽签,中国队抽了上上签,成功避开了所有32支强队!

avatar
h*3
39
绕来绕去无非就是在conditional probability上打转。

【在 f********w 的大作中提到】
: 有一个藥罐子,最初里面放了100颗整颗药,每颗药能掰成两个半颗。
: 每次从药罐子里随机取出一片药,如果是整颗药,就掰成两半,吃掉半颗,放回半颗。
: 如果是半颗,就吃掉这半颗。
: 现在求第n次取药的时候娶到半颗的概率
: double halfChance(int n)
: 我的一点思路
: 如果取到的是整颗,那罐子里的总数是不变的,极端情况n次都正好是取到整颗,那n轮
: 后罐子里还是100颗药,此时包涵了n个半颗和(100-n)个整颗
: 如果取到的是半颗,总数会-1,极端情况n次都是先取整颗,再取半颗,那n轮后罐子
: 里还有100-n/2颗药,如果n是偶数,那现在罐子里没有半颗,如果n是奇数,那现在罐

avatar
K*y
40
可以买这个

【在 B*G 的大作中提到】
: 35/2不如28/1.8,至少有个金圈。
avatar
i*s
41
哈哈

【在 x****o 的大作中提到】
: 【巴西世界杯分组揭晓】
: 12月7日凌晨,2014巴西世界杯分组抽签仪式在巴西东北部巴伊亚州绍伊皮海滨举行,
: 素有悲情命运的英格兰再次被分入死亡之组,同组的还有乌拉圭、哥斯达黎加和意大利
: 。参加仪式的英足总主席格雷•戴克一边无奈地露出尴尬的微笑,一边还做出了
: 一个惊人手势——割喉,仿佛在说“我们死定了”。
: 这次巴西世界杯分组抽签,中国队抽了上上签,成功避开了所有32支强队!

avatar
l*7
42
做出来才是硬道理。
这是我的代码,参考了http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
速度很慢对于100个pill取100次。
//http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
// w is number of whole pills
// h is number of half pills
float pill(int w, int h, int d) {
float p=0.0;
if (w<0 || h<0) return 0.0;
if (w==0 && h==2) return 1.0;
if (d <= 0) return 1.0*h/(w+h);
if (w>0) p += 1.0*w/(w+h)*pill(w-1, h+1, d-1);
if (h>0) p += 1.0*h/(w+h)*pill(w, h-1, d-1);
return p;
}
int main() {
int n, d;
scanf("%d", &n); // total number pills
scanf("%d", &d); // nth day >= 1
printf("%f n",pill(n, 0, d-1));
}

【在 h********3 的大作中提到】
: 绕来绕去无非就是在conditional probability上打转。
avatar
K*y
43
你们要 2 手的,卖給我也行 谢谢
avatar
f*w
44

1,

【在 k*******a 的大作中提到】
: 假设 p(n, k) 是n次以后有k个half pill的概率
: 如果n次以后是k, 那么n-1次的时候要么是k-1, 要么是k+1
: 这样,对这个vector可以做个递归 p(n, k) = f(n-1, k-1)*p(n-1, k-1) + (1-f(n-1,
: k+1))*p(n-1, k+1)
: 其中 f(n, k)表示取到整科的概率,很容易可以得到
: 这样可以通过循环或者递归来得到结果

avatar
m*7
45
就刚才提到的这些头
35/2. 便宜实惠, 做工不赖. 缺点是如果上了全幅, 会被它的边角画质恶心到.
28/1.8 一般. 缩光圈以后画质不错. 2.2以上不能用
35/1.4 不差钱上就是了, 肯定没错
avatar
f*w
46
Sorry no Chinese on this pc, but could you elaborate? How to calc f(n, k)?
And given that we have P(n, k) how to derive the probability to get an half
pill at round n? How do we know the total number at the moment?

1,

【在 k*******a 的大作中提到】
: 假设 p(n, k) 是n次以后有k个half pill的概率
: 如果n次以后是k, 那么n-1次的时候要么是k-1, 要么是k+1
: 这样,对这个vector可以做个递归 p(n, k) = f(n-1, k-1)*p(n-1, k-1) + (1-f(n-1,
: k+1))*p(n-1, k+1)
: 其中 f(n, k)表示取到整科的概率,很容易可以得到
: 这样可以通过循环或者递归来得到结果

avatar
K*y
47
谢谢

【在 m****7 的大作中提到】
: 就刚才提到的这些头
: 35/2. 便宜实惠, 做工不赖. 缺点是如果上了全幅, 会被它的边角画质恶心到.
: 28/1.8 一般. 缩光圈以后画质不错. 2.2以上不能用
: 35/1.4 不差钱上就是了, 肯定没错

avatar
k*a
48
因为半颗的个数/2 加上 整颗的个数 = 100 - n/2
所以可以知道整科颗的个数
所以取到整科的概率为 f(n, k) = (100-n/2-k/2)/(100-n/2+k/2)

half

【在 f********w 的大作中提到】
: Sorry no Chinese on this pc, but could you elaborate? How to calc f(n, k)?
: And given that we have P(n, k) how to derive the probability to get an half
: pill at round n? How do we know the total number at the moment?
:
: 1,

avatar
f*w
49
Sorry again for no Chinese on the PC and thanks! This one looks correct to
me
A bit modification with a stupid 3D buffer, should be faster, a better (Java
) way might be using a custom class with modified hashCode... And we would
need to compare d and h, say we have 5 halves left, the probability we get a
half in the 10th day would be 0.
// starting from state w(hole) and h(alf), the probability we take a half
pill on day d
double halfProb(int w, int h, int d, double[][][] back) {
if (back[w][h][d] > 0)
return back[w][h][d];
if (d == 1) {
return (double) h / (w + h);
} else {
if (w == 0) {
if (h >= d)
return 1;
else
return 0;
}
double p = 0;
p += (double) w / (w + h) * halfProb(w - 1, h + 1, d - 1, back);
if (h > 0)
p += (double) h / (w + h) * halfProb(w, h - 1, d - 1, back);
back[w][h][d] = p;
return p;
}
}
public static void main(String[] args) {
System.out.println(new Solution().halfProb(5, 0, 9,
new double[100 + 1][100 + 1][200 + 1]));
}

【在 l**********7 的大作中提到】
: 做出来才是硬道理。
: 这是我的代码,参考了http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
: 速度很慢对于100个pill取100次。
: //http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
: // w is number of whole pills
: // h is number of half pills
: float pill(int w, int h, int d) {
: float p=0.0;
: if (w<0 || h<0) return 0.0;
: if (w==0 && h==2) return 1.0;

avatar
f*w
50
0.5321961583405944

【在 e***l 的大作中提到】
: 算出来第100次是0.5321961583405941,有没有人对一下答案
avatar
T*u
51
2d birth-death markov model?
avatar
l*h
52
你的半颗个数是不对的,半颗数可以是从0到n的任何数。应该没有解析解。

【在 k*******a 的大作中提到】
: 因为半颗的个数/2 加上 整颗的个数 = 100 - n/2
: 所以可以知道整科颗的个数
: 所以取到整科的概率为 f(n, k) = (100-n/2-k/2)/(100-n/2+k/2)
:
: half

avatar
f*n
53
mark
avatar
h*d
54
N(n+1)/N(n)=1-(1/(200-n-N(n))
其中N(n)是取完n次后整数颗药的期望值,N(0)=100

【在 f********w 的大作中提到】
: 有一个藥罐子,最初里面放了100颗整颗药,每颗药能掰成两个半颗。
: 每次从药罐子里随机取出一片药,如果是整颗药,就掰成两半,吃掉半颗,放回半颗。
: 如果是半颗,就吃掉这半颗。
: 现在求第n次取药的时候娶到半颗的概率
: double halfChance(int n)
: 我的一点思路
: 如果取到的是整颗,那罐子里的总数是不变的,极端情况n次都正好是取到整颗,那n轮
: 后罐子里还是100颗药,此时包涵了n个半颗和(100-n)个整颗
: 如果取到的是半颗,总数会-1,极端情况n次都是先取整颗,再取半颗,那n轮后罐子
: 里还有100-n/2颗药,如果n是偶数,那现在罐子里没有半颗,如果n是奇数,那现在罐

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。