珍珠湾ART

标题: 外国饭店推广解答 [打印本页]

作者: constant    时间: 2005-11-16 20:34
标题: 外国饭店推广解答

www.ddhw.com

你和四个朋友一起去一家外国饭店吃饭。菜单上有9种菜,但是一个字都不认识,服务员说话也听不懂,要的菜也不知道谁要的是什么。唯一可以用来判别菜的是数量:如果你们要了三个 sdfdaskkj,两个 kljksdfsda,结果来了三个炸大虾,两个清蒸鱼,那 sdfdaskkj 就是炸大虾,kljksdfsda 就是清蒸鱼。假设你们每次要5个菜,你们去吃几顿饭才可以认清所有的菜?

如果一共m个人,去k次,最多可以认清几个菜?
 
原题野菜花已经给出正确答案。下面是推广题的答案。(很难看的答案。)

设最多可以认清的菜的数量为f(m,k)。对某一个菜,把每次要的数量放进一个k元数组:(2,0,3)表示第一次要了两个,第二次没要,第三次要了三个。如果两个菜的k元数组不一样,就能够区分开。这个问题于是变成找一个非负整数k元数组的集S,使得S中k元数组在每个坐标的和不大于m,并且使|S|最大。www.ddhw.com

为了让|S|大,每个k元数组中各坐标的和越小越好。对给定的i,各坐标的和等于i的k元数组共有C(k+i-1,i)个。这些k元数组在每个坐标的和等于C(k+i-1,i)*i/k = C(k+i-1,i-1)。把这两个数从1到i加起来,有

C(k,1)+C(k+1,2)+...+C(k+i-1,i) = C(k+i,i) - 1
C(k,0)+C(k+1,1)+...+C(k+i-1,i-1) = C(k+i,i-1)

即f(C(k+i,i-1),k) = C(k+i,i) - 1。k = 3, i = 2 时有 f(5,2) = 9,就是原来的题。

对不同的i之间的m值,f 基本上是线性的,即给定k之后,f(m,k)基本上是折线函数。更准确一点,设 m = C(k+i,i-1) + j,其中 i 是使 m >= C(k+i,i-1) 的最大值。则有

f(m,k) = C(k+i,i) - 1 + [j*k/(i+1)]。

例如10个人吃6顿饭,i=2, j=2。f(10,6) = C(8,2) - 1 + [2*6/3] = 31。即最多可以认清31个菜。

www.ddhw.com

 

作者: husonghu    时间: 2005-11-16 21:54
标题: 如果我有实力都能做做你的好题多好! [@};-][@};-][@};-][@};-]

  如果我有实力都能做做你的好题多好!





作者: 野 菜 花    时间: 2005-11-16 23:37
标题: Nice!

  Nice!





作者: constant    时间: 2005-11-17 00:21
标题: 回复:如果我有实力都能做做你的好题多好! [@};-][@};-][@};-][@};-]

You did well on the Cube kissing problem. Other sites (WXC and QQSH) has only 20 so far.
www.ddhw.com

 

作者: LOTUSEATER    时间: 2005-11-17 01:07
标题: [:((]

  





作者: LOTUSEATER    时间: 2005-11-17 01:11
标题: [:((]

這裡果然藏龍臥虎﹐俺數學不好﹐最近老上這來﹐ 結果晚上做夢到考數學﹐厚厚的一迭捲子﹐死也做不完﹐嚇醒﹗
www.ddhw.com

 

作者: husonghu    时间: 2005-11-17 09:55
标题: [:))][:))][@};-][@};-][@};-][@};-]

  









欢迎光临 珍珠湾ART (http://zzwav.com/) Powered by Discuz! X3