楼主: 〇〇

Puzzleup 2013挑战赛即将开始

[复制链接]
招聘 : Java研发
论坛徽章:
114
SQL数据库编程大师
日期:2013-12-06 13:59:43萤石
日期:2013-12-06 15:50:21ITPUB元老
日期:2007-09-25 17:05:532011数据库大会纪念章
日期:2015-04-23 10:33:192010数据库技术大会纪念徽章
日期:2015-04-23 10:33:19喜羊羊
日期:2015-03-24 13:02:282015年新春福章
日期:2015-03-06 11:57:31喜羊羊
日期:2015-03-04 14:49:39马上有房
日期:2015-01-22 17:30:45马上加薪
日期:2014-12-25 08:48:51
101#
发表于 2013-8-22 22:47 | 只看该作者
HelloWorld_001 发表于 2013-8-22 20:56
因为至少12题,而每份6题,那肯定有二份它们可能是不包含一个相同的  --这句话我同意,但如何分是我们确定 ...

嗯,是我理解有问题,

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
102#
 楼主| 发表于 2013-8-23 00:28 | 只看该作者
newkid 发表于 2013-8-22 22:11
你再证明一下,图书章就归你了。

你怎么那么多章

使用道具 举报

回复
论坛徽章:
118
2015年新春福章
日期:2015-03-06 11:58:18生肖徽章:猪
日期: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
103#
发表于 2013-8-23 00:31 | 只看该作者
我睡下又爬起来证明,就为了newkid说的图书章
首先我已找到题库12道可以满足,现在只需要证明题库11道的时候不行,那么12就是最小了。
采取反证法,假设题库11道,且一道题最多10份试卷,那么 11*10/20=5 有余数。那么必然存在某张试卷只有5道题。
--接着证明只有5道题是不行的
假设有5道题的试卷叫a1,剩下的分别是a2,...a20.
a1的试题分别是b1,b2,,,b5
a1需要和任意的4张试卷有2题重复。我简化为a1和任意的4张有1题重复(再次重复这个过程就变成2题重复了)
最多有a2,a3...a10 一共9张试卷有b1这题(每题最多出现10次)
最多有a11,a12...a19 一共9张试卷有b2这题(每题最多出现10次)
由于一共20张试卷,至少存在a20这个试卷和a1重复的为b3这题。
--再来重复第二题
假设a1和a2,a3,a4,a5 重复的第二题为b4(此种情况必然存在。如果b4=b3,那么b3只能再出现8次,比如是a2-a9,那么a1和a10必然存在相同的b5.)
--所以我必然能从a2-a10中找到4个和a1重复的第二题不是b3的情况。
同理我也能在a11-a19中找出4个和a1重复的第二题不是b3的情况。记为b5
由于a1只有5题已经全部用完。那么a1,a20这样的配对只会有相同的b3.

普遍情况不会分析
我再分析下如果a2,.. 这不是到a10,而是到a9,只有8份试卷。会怎么样。
那么b3这个地方至少是2份试卷a19和a20。加上a1占了b3,最多再出现7次。符合条件的b2.../b1x ... 和之前分析一样,必然存在占b4,b5的情况。
依然推出矛盾

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
104#
 楼主| 发表于 2013-8-23 00:33 | 只看该作者
HelloWorld_001 发表于 2013-8-23 00:31
我睡下又爬起来证明,就为了newkid说的图书章
首先我已找到题库12道可以满足,现在只需要证明题库11道的时 ...

能否用计算机穷举证明

使用道具 举报

回复
论坛徽章:
118
2015年新春福章
日期:2015-03-06 11:58:18生肖徽章:猪
日期: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
105#
发表于 2013-8-23 00:39 | 只看该作者
穷举证明得newkid出手了。
我睡觉了,今晚不爬起来了。
而且我明天估计下午才会去上班,不知道有没有时间写穷举

使用道具 举报

回复
论坛徽章:
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
106#
发表于 2013-8-23 03:35 | 只看该作者
103楼的证明看不懂。首先每份卷子都必须有相同的题目数,这样当X=11时最多每份5题,而不是仅有一份5题;
接下来把b1和b2分摊在互不交叉的试卷组,这也只是特例,你得证明其他的情况。
“如果b4=b3,那么b3只能再出现8次”这个也看不懂什么意思。
另外题目说了每五份试卷“至少”有两题是公共的,不排除多于两题的情况,这个你应该没理解错吧。

使用道具 举报

回复
论坛徽章:
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
107#
发表于 2013-8-23 04:10 | 只看该作者
验证你的12题答案:

验证所有题目出现不超过十次:
用16进制的12位表示:

WITH t AS (
          SELECT  'b1' AS test_id, '000111000111' AS problems FROM DUAL
UNION ALL SELECT  'b2' AS test_id, '000111000111' AS problems FROM DUAL
UNION ALL SELECT  'b3' AS test_id, '000111000111' AS problems FROM DUAL
UNION ALL SELECT  'b4' AS test_id, '000111000111' AS problems FROM DUAL
UNION ALL SELECT  'b5' AS test_id, '000111000111' AS problems FROM DUAL
UNION ALL SELECT  'b6' AS test_id, '011001011001' AS problems FROM DUAL
UNION ALL SELECT  'b7' AS test_id, '011001011001' AS problems FROM DUAL
UNION ALL SELECT  'b8' AS test_id, '011001011001' AS problems FROM DUAL
UNION ALL SELECT  'b9' AS test_id, '011001011001' AS problems FROM DUAL
UNION ALL SELECT 'b10' AS test_id, '011001011001' AS problems FROM DUAL
UNION ALL SELECT 'b11' AS test_id, '101010101010' AS problems FROM DUAL
UNION ALL SELECT 'b12' AS test_id, '101010101010' AS problems FROM DUAL
UNION ALL SELECT 'b13' AS test_id, '101010101010' AS problems FROM DUAL
UNION ALL SELECT 'b14' AS test_id, '101010101010' AS problems FROM DUAL
UNION ALL SELECT 'b15' AS test_id, '101010101010' AS problems FROM DUAL
UNION ALL SELECT 'b16' AS test_id, '110100110100' AS problems FROM DUAL
UNION ALL SELECT 'b17' AS test_id, '110100110100' AS problems FROM DUAL
UNION ALL SELECT 'b18' AS test_id, '110100110100' AS problems FROM DUAL
UNION ALL SELECT 'b19' AS test_id, '110100110100' AS problems FROM DUAL
UNION ALL SELECT 'b20' AS test_id, '110100110100' AS problems FROM DUAL
)
SELECT TO_CHAR(SUM(TO_NUMBER(problems,'XXXXXXXXXXXX')),'XXXXXXXXXXXX') FROM t;

AAAAAAAAAAAA

这个过关,刚好全部十次

验证所有组合都有至少两题公共的:
WITH t AS (
          SELECT  'b1' AS test_id, 000111000111 AS problems FROM DUAL
UNION ALL SELECT  'b2' AS test_id, 000111000111 AS problems FROM DUAL
UNION ALL SELECT  'b3' AS test_id, 000111000111 AS problems FROM DUAL
UNION ALL SELECT  'b4' AS test_id, 000111000111 AS problems FROM DUAL
UNION ALL SELECT  'b5' AS test_id, 000111000111 AS problems FROM DUAL
UNION ALL SELECT  'b6' AS test_id, 011001011001 AS problems FROM DUAL
UNION ALL SELECT  'b7' AS test_id, 011001011001 AS problems FROM DUAL
UNION ALL SELECT  'b8' AS test_id, 011001011001 AS problems FROM DUAL
UNION ALL SELECT  'b9' AS test_id, 011001011001 AS problems FROM DUAL
UNION ALL SELECT 'b10' AS test_id, 011001011001 AS problems FROM DUAL
UNION ALL SELECT 'b11' AS test_id, 101010101010 AS problems FROM DUAL
UNION ALL SELECT 'b12' AS test_id, 101010101010 AS problems FROM DUAL
UNION ALL SELECT 'b13' AS test_id, 101010101010 AS problems FROM DUAL
UNION ALL SELECT 'b14' AS test_id, 101010101010 AS problems FROM DUAL
UNION ALL SELECT 'b15' AS test_id, 101010101010 AS problems FROM DUAL
UNION ALL SELECT 'b16' AS test_id, 110100110100 AS problems FROM DUAL
UNION ALL SELECT 'b17' AS test_id, 110100110100 AS problems FROM DUAL
UNION ALL SELECT 'b18' AS test_id, 110100110100 AS problems FROM DUAL
UNION ALL SELECT 'b19' AS test_id, 110100110100 AS problems FROM DUAL
UNION ALL SELECT 'b20' AS test_id, 110100110100 AS problems FROM DUAL
)
,t2 (cnt,test_id,problems,all_id) AS (
SELECT 1 cnt
      ,test_id
      ,problems
      ,CAST(test_id AS VARCHAR2(20))
  FROM t
UNION ALL
SELECT t2.cnt+1
      ,t.test_id
      ,t2.problems + t.problems
      ,t2.all_id||','||t.test_id
  FROM t,t2
WHERE t2.cnt<5
       AND t2.test_id<t.test_id
)
SELECT TO_CHAR(problems),all_id FROM t2
WHERE cnt=5 AND REGEXP_COUNT(problems,'5')<2 AND ROWNUM=1;

TO_CHAR(PROBLEMS)                        ALL_ID
---------------------------------------- ------------------------
143214143214                             b20,b5,b7,b8,b9

没过关,随便找个下列组合就不行:

(a1,a2,a3, a7,a8,a9)  

(a1,a4,a5, a7,a10,a11)
(a1,a4,a5, a7,a10,a11)
(a1,a4,a5, a7,a10,a11)

(a3,a5,a6, a9,a11,a12)

使用道具 举报

回复
论坛徽章:
118
2015年新春福章
日期:2015-03-06 11:58:18生肖徽章:猪
日期: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
108#
发表于 2013-8-23 10:38 | 只看该作者
newkid找的反例我明白了
只要试卷从3组或以上抽出来,我手算的就不行了

使用道具 举报

回复
论坛徽章:
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
109#
发表于 2013-8-28 22:28 | 只看该作者
Regions


What is the maximum number of regions into which four circles and four straight lines can divide a plane?

If the problem was asked for two circles and two straight lines, then the answer would be 14.

四个圆和四条直线,最多能把一个平面分割成几个区域?如果问的是两个圆和两条直线则答案为14。

使用道具 举报

回复
论坛徽章:
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
110#
发表于 2013-9-5 00:01 | 只看该作者
#7 Ten Numbers

_
|_|_ _
|_|_|_|
|_|_|_|
|_|_|_|

Place each of the ten numbers between 1 and 10 in the squares so that no two adjacent squares (horizontally or vertically) should contain;

consecutive numbers,
numbers with the same parity (odd or even).

In how many different ways can this task be accomplished?

把1-10这十个数字放入图中的方格,使得不存在相邻(垂直或水平)的两个数字为连续或者具有相同的奇偶性。

这个用SQL应该很容易了吧。

使用道具 举报

回复

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

本版积分规则 发表回复

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