楼主: newkid

PUZZLEUP 2014

[复制链接]
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
161#
发表于 2014-9-11 07:36 | 只看该作者

SQL 是这么写的。

WITH T AS (
SELECT 1 BOX, 1 N FROM DUAL UNION ALL
SELECT 1 BOX, 2 N FROM DUAL UNION ALL
SELECT 1 BOX, 3 N FROM DUAL UNION ALL
SELECT 2 BOX, 1 N FROM DUAL UNION ALL
SELECT 2 BOX, 2 N FROM DUAL UNION ALL
SELECT 2 BOX, 3 N FROM DUAL UNION ALL
SELECT 2 BOX, 4 N FROM DUAL UNION ALL
SELECT 3 BOX, 1 N FROM DUAL UNION ALL
SELECT 3 BOX, 2 N FROM DUAL UNION ALL
SELECT 3 BOX, 3 N FROM DUAL UNION ALL
SELECT 3 BOX, 4 N FROM DUAL UNION ALL
SELECT 3 BOX, 5 N FROM DUAL
)
, T1 AS (  -- 所有 抽 2个的结果。
SELECT T.BOX, SYS_CONNECT_BY_PATH(T.N , ',')  STR
FROM   T
WHERE  LEVEL = 2
CONNECT BY LEVEL <= 2 AND T.BOX = PRIOR T.BOX
AND ( T.N > PRIOR T.N)
)
SELECT SUM(T3.PROB)/COUNT(*)  PROB
FROM (
      SELECT DISTINCT T2.BOX
             ,SUM(T2.CNT3)OVER(PARTITION BY T2.BOX)/SUM(T2.CNT4)OVER(PARTITION BY T2.BOX) PROB -- 每个盒子的概率
      FROM (
            SELECT T1.BOX , T1.STR
                   ,CASE WHEN INSTR(T1.STR,4) > 0 THEN 1 ELSE 0 END CNT4  -- 有 4 的
                   ,CASE WHEN INSTR(T1.STR,3) > 0 THEN 1 ELSE 0 END CNT3  -- 4 中有 3 的
            FROM  T1
            WHERE INSTR(T1.STR,4) > 0 -- 先取了 4
          ) T2
     ) T3
/
      PROB
----------
0.29166666



SQL 写出来是有点麻烦, 好处是我再添加一个盒子(例如,有 3,4,5,6 卡片的盒子), 也可以马上求出概率。



WITH T AS (
SELECT 1 BOX, 1 N FROM DUAL UNION ALL
SELECT 1 BOX, 2 N FROM DUAL UNION ALL
SELECT 1 BOX, 3 N FROM DUAL UNION ALL
SELECT 2 BOX, 1 N FROM DUAL UNION ALL
SELECT 2 BOX, 2 N FROM DUAL UNION ALL
SELECT 2 BOX, 3 N FROM DUAL UNION ALL
SELECT 2 BOX, 4 N FROM DUAL UNION ALL
SELECT 3 BOX, 1 N FROM DUAL UNION ALL
SELECT 3 BOX, 2 N FROM DUAL UNION ALL
SELECT 3 BOX, 3 N FROM DUAL UNION ALL
SELECT 3 BOX, 4 N FROM DUAL UNION ALL
SELECT 3 BOX, 5 N FROM DUAL UNION ALL
SELECT 4 BOX, 3 N FROM DUAL UNION ALL
SELECT 4 BOX, 4 N FROM DUAL UNION ALL
SELECT 4 BOX, 5 N FROM DUAL UNION ALL
SELECT 4 BOX, 6 N FROM DUAL
)
, T1 AS (  -- 所有 抽 2个的结果。
SELECT T.BOX, SYS_CONNECT_BY_PATH(T.N , ',')  STR
FROM   T
WHERE  LEVEL = 2
CONNECT BY LEVEL <= 2 AND T.BOX = PRIOR T.BOX
AND ( T.N > PRIOR T.N)
)
SELECT SUM(T3.PROB)/COUNT(*)  PROB
FROM (
      SELECT DISTINCT T2.BOX
             ,SUM(T2.CNT3)OVER(PARTITION BY T2.BOX)/SUM(T2.CNT4)OVER(PARTITION BY T2.BOX) PROB -- 每个盒子的概率
      FROM (
            SELECT T1.BOX , T1.STR
                   ,CASE WHEN INSTR(T1.STR,4) > 0 THEN 1 ELSE 0 END CNT4  -- 有 4 的
                   ,CASE WHEN INSTR(T1.STR,3) > 0 THEN 1 ELSE 0 END CNT3  -- 4 中有 3 的
            FROM  T1
            WHERE INSTR(T1.STR,4) > 0 -- 先取了 4
          ) T2
     ) T3
/

      PROB
----------
0.30555555

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
162#
发表于 2014-9-11 15:18 | 只看该作者
newkid 发表于 2014-9-10 23:36
公式,公式,要不怎么知道对错,哪里错?

我怎么感觉是这样呢

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
163#
发表于 2014-9-11 18:09 | 只看该作者
要考虑4以后的情况, 只取1个了,之后的情况,没有4的盒子要排除掉。 不是考虑取2个的情况。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
164#
 楼主| 发表于 2014-9-11 21:52 | 只看该作者
oracle_cj 发表于 2014-9-11 15:18
我怎么感觉是这样呢

出现4之后,很多无关的都可以不考虑了。假如只有一个盒子有4, 而且里面只有34, 那么公式算出来应该是100%, 你可以用这个例子来验证。
到下周如果没有异议就把章发给peter了。

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
165#
发表于 2014-9-13 17:48 | 只看该作者
newkid 发表于 2014-9-11 00:21
所有的两张卡,并不是机会均等的。盒子中卡少的机会更大。

3个盒子被抽到的概率都是1/3
1号盒子显然不用考虑,因为里面没有卡片4,所以问题就是另外两个盒子里抽两张,两张是3和4的概率和了
2号盒,第一张抽到3或4的概率为1/2,第二张抽到另外一张的概率为1/3,所以此盒抽到3和4的概率是1/6
3号盒,第一张抽到3或4的概率为2/5,第二张抽到另外一张的概率为1/4,所以此盒抽到3和4的概率是1/10

所以总概率为1/3*(1/6+1/10)=4/45

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
166#
发表于 2014-9-13 17:55 | 只看该作者
newkid 发表于 2014-9-10 22:14
#7 Numbered Cards

There are three boxes each containing some numbered cards. First box contains ...

You will randomly select a box and without seeing the inside you will randomly draw two cards at the same time.

我看你翻译得没错,可你们后面的讨论怎么成了可能从多个盒子里取卡片?

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
167#
 楼主| 发表于 2014-9-13 21:21 | 只看该作者
lastwinner 发表于 2014-9-13 17:55
You will randomly select a box and without seeing the inside you will randomly draw two cards at  ...

哪个讨论让你有这种感觉?
注意题目问的不是“同时抽到3,4”的概率,而是在已经知道有一张为4的情况下,另一张为3的概率。有这个前提之后分母就缩小了。

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
168#
发表于 2014-9-13 23:05 | 只看该作者
newkid 发表于 2014-9-13 21:21
哪个讨论让你有这种感觉?
注意题目问的不是“同时抽到3,4”的概率,而是在已经知道有一张为4的情况下, ...

嗯,对,后面一句没细品读
那结果就是
1/3*(1/3+1/4)=7/36

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
169#
 楼主| 发表于 2014-9-13 23:15 | 只看该作者
lastwinner 发表于 2014-9-13 23:05
嗯,对,后面一句没细品读
那结果就是
1/3*(1/3+1/4)=7/36

1号盒不应参与计算。哪怕再有100个盒子,只要不带4就不应该参与。所以是1/2不是1/3

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
170#
发表于 2014-9-14 15:24 | 只看该作者
newkid 发表于 2014-9-13 23:15
1号盒不应参与计算。哪怕再有100个盒子,只要不带4就不应该参与。所以是1/2不是1/3

重读了原英文,就按你说的,那就更简单了
1/2*(1/3+1/4)=7/24

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表