• 全部
  • 问答

有点难的问题

jp1984 2006-09-23 04:20:58
给出的是一应用问题的抽象

给定N个基数为4(就是元素个数为4)的集合,且每两个集合的交集元素个数不超过1。求所有这N个集合中最少有多少不相同的元素。
...全文
310 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mathe 2006-09-27
galois_godel的公式能够用我的推导出来
4*n<=m*[(m-1)/3]<=m*(m-1)/3
所以
n<=m*(m-1)/12=C(m,2)/6=C(m,2)/C(4,2)
回复
mathe 2006-09-27
galois_godel的结论有问题:
n<16 时候,
16n/(n+3) 是整数时, m=16n/(n+3) ,
16n/(n+3) 不是整数时, m=1+[16n/(n+3)] ,
我们取n=15,那么16*15/18=13.333...
所以m=14
实际上,根据我的结论
4*n<=m*[(m-1)/3]
m=14不满足条件,至少要m=15
回复
dengsf 2006-09-27
galois_godel 能否说说式子的推导过程?
回复
tailzhou 2006-09-27
mathe的公式最少还得加上n的限制;不是对任何的n都能成立的;
比如n=3;
用mathe的公式4*n<=m*[(m-1)/3],那么m>=7,但7个元素最多只可能组成两个集合;
S1*3<=m-1是成立的,但有可能这个条件还是太宽松了。

galois_godel的公式
n<16 时候,
16n/(n+3) 是整数时, m=16n/(n+3) ,
16n/(n+3) 不是整数时, m=1+[16n/(n+3)] ,
当n=3时,m=16*3/6=8; 8个元素也是不可能组成3个集合的(两个集合就用去了7个数,从这两集合各取一个,加上剩下的一个,还差一个数);







回复
galois_godel 2006-09-26
n<16 时候,
16n/(n+3) 是整数时, m=16n/(n+3) ,
16n/(n+3) 不是整数时, m=1+[16n/(n+3)] ,

n>=16 时候,从 n< C(M,2)/C(4,2) 可以算出 m 的上界,
回复
galois_godel 2006-09-26
现在可以说了

你能说明下你的公式吗?

感觉是错的,这道题目不简单的,是一个特殊的区组设计
回复
weijiangshanwww 2006-09-26
BZ不要降我的信誉,我开始不知道是竞赛题目,但是我回答了,一定要做完(这是原则),我下次会注意问题了。而且这问题不难,很多人都能回答的。
回复
weijiangshanwww 2006-09-26
N>5 时:(N-N%5)/5*10+(N%5)*4-(N%5)选2的组合数
回复
crazy_lazy_pig 2006-09-26
初看此题,感觉用容斥原理做一下就行了:
z = 4*N - C(N,2)*1 + C(N,3)*x3 - C(N,4)*x4 + C(N,5)*x5 - C(N,7)*x7 + ...
其中xi是个分数, 分母是C(N,i), 分子就是i个集合交不为空的组合的个数.
下面的任务就是让前面是负号的仅可能大,是正号的尽可能小, 但是具体算法恐怕要对具体的N进行分析了.
回复
weijiangshanwww 2006-09-26
上面我还是有点不明白,N是代表什么?
回复
weijiangshanwww 2006-09-26
呵呵,谢谢楼上的纠正。我对题目的理解有误!
回复
mathe 2006-09-26
如果总共需要m个不同元素.
那么
假设有S1个集合使用了第一个元素,S2个集合使用了第二个元素,...,Sm个集合使用了第m个元素.
那么所有使用了第一个元素的集合(共S1个),除了第一个元素以外,没有其他公共元素,所以
S1*3<=m-1
也就是S1<=[(m-1)/3]
同理,S2,...,Sm都满足上面条件
由于S1+S2+...+Sm=4*N
我们可以得到
4*N<=m*[(m-1)/3]
比如N=10
那么
4N<=m*[(m-1)/3]就要求m>=13.
回复
weijiangshanwww 2006-09-26
如果是13个的话,计算一下,最多只能共享一个元素对吗,如果有四个元素就必须和另外的四个集合共享一个相同的元素(这情况就是点最少的情况)。如果在两个多边形的时候,10个集合,按照BZ说的13个点,每个集合共享出来一个元素,那么至少也要20个。怎么会是13个?
回复
weijiangshanwww 2006-09-26
我之所以用五边形是因为它刚刚好四个元素完全共享了。新来的点当然只能不被共享任何元素,也就是共享的元素的个数为零的情况了。
回复
weijiangshanwww 2006-09-26
两个五边形是独立的,已经饱和了,不能在添加新的点!
回复
galois_godel 2006-09-26
找你的说法,n=10, 两个五边形 不是要20个,

应该13个就可以了
回复
weijiangshanwww 2006-09-26
我的想法是把这个问题转化成几何的问题,在完全连通图形中,五边形的每个顶点都是和另外的四个点共享一条边。这样达到一种饱和状态。
当来了第六个点的时候(也就是第六个集合的时候),该点不能和其他的点有公共边,这样逐个的增加(新来的点和新来的点之间进行边的共享),当有10个点的时候,就刚刚好是两个五边形。而且都能够共享10条边。
回复
galois_godel 2006-09-25
研究生数模竞赛题,目前比赛还没有结束,比完了再讨论吧
回复
weijiangshanwww 2006-09-25
N>5 时:(N-N%4)/4*10+(N%4)*4-(N%4)选2的组合数
回复
weijiangshanwww 2006-09-25
N>5 时(N-N%4)/4 *10+(N%4)*4-(N%4)
回复
加载更多回复
相关推荐
发帖
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2006-09-23 04:20
社区公告
暂无公告