fallening 发表于 2008-8-29 14:24:34

发现一很有趣的题目,讨论一下吧

一共有上下两排数,上排的十个数是【0,1,2,3,4,5,6,7,8,9】
针对上排的每个数,在其对应的下面位置填写一个数,该数表示其在下面出现的次数。
如:
数值:0,1,2,3,4,5,6,7,8,9
分配:6,2,1,0,0,0,1,0,0,0

从csdn那边看到的

无心人 发表于 2008-8-29 14:51:04

听不懂哦

mathe 发表于 2008-8-29 16:11:26

计算机穷举也不是很难.不过我们应该可以通过一些事先分析来降低难度.
假设数字i出现了$x_i$次,那么$\sum_{i=0}^9i*x_i=\sum_{i=0}^9x_i$
可以得到约束条件$x_0=\sum_{i=2}^9 (i-1)x_i$
另外还有一个约束是$\sum_{i=0}^9x_i=10$
弄出的约束越多,搜索越快

风云剑 发表于 2008-8-29 17:45:05

原帖由 无心人 于 2008-8-29 14:51 发表 http://bbs.emath.ac.cn/images/common/back.gif
听不懂哦
下排0的出现次数是6,1的 出现次数是2,2的出现次数是1,。。。

无心人 发表于 2008-8-29 20:00:15

终于看明白了

0,1,2,3,4,5,6,7,8,9
6,2,1,0,0,0,1,0,0,0
出现6个0 2个1 1个2 1个6哦

想穷举下派数字么?

mathe 发表于 2008-8-29 20:36:13

发现可以完全通过逻辑推理得出,只有唯一解

mathe 发表于 2008-8-29 20:38:29

第一步可以非常容易证明出现的最大数值不小于5。
假设这个最大数为k,第二步利用上面等式可以证明除了$x_0,x_1,x_2,x_k=1$其余项都是0
第三步得出$x_0=k,x_2=1,x_k=1,x_1=2$,然后由和为10得到k=6.

fallening 发表于 2008-8-30 09:54:27

如果第一行数字的个数以及第一行的每一个数字(0-9,可重复)都是随机生成的
如何确定下边一行数字的解?

第一行有没有0是很重要的,如果没有0,很可能有多个解,如果有0的存在,很可能无解或者只有唯一解。

396467225 发表于 2008-8-30 13:33:26

偶的一点简单看法!

数值:0,1,2,3,4,5,6,7,8,9定义成数组A(10)
分配:6,2,1,0,0,0,1,0,0,0定义成数组B(10)
B(10)中所有数的和等于数组的组数10
B(1)+B(2)+.....+B(10)=10
所以大于等于5的数索引下只能分配一个1
当 i>=5 且 i<=9 时
当且仅当只有一个B(i)=1其它为0

无心人 发表于 2008-8-30 21:36:38

有点象逻辑推理性质的题目
呵呵
页: [1] 2
查看完整版本: 发现一很有趣的题目,讨论一下吧