找回密码
 欢迎注册
查看: 30839|回复: 25

[转载] n*n的格子 组合问题

[复制链接]
发表于 2012-9-5 12:34:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
10*10个格子,格子里面的数为0或1,并且每行每列1的数量不超过5个,这样的组合有多少种?
http://www.51nod.com/question/index.html#!questionId=554
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-5 14:23:49 | 显示全部楼层
这题我怎么好像见过。好像是组合数学里的。

评分

参与人数 1经验 +2 收起 理由
wayne + 2 求解答!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-5 14:44:41 | 显示全部楼层
不考虑对称性
$(C_10^0+C_10^1+C_10^2+C_10^3+C_10^4+C_10^5)^10$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-5 15:20:39 | 显示全部楼层
没注意题目中,“每行每列”的限制,上面的回答错了。

题目可以转化为:

15×15个格子,格子里面的数为0或1,并且每行每列1的数量都是5个,求组合数。

评分

参与人数 1鲜花 +2 收起 理由
wayne + 2 求解释!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-6 08:58:33 | 显示全部楼层

我来把问题“简化”一下

且将所有满足要求的10×10矩阵组成集合记为S。S在第1类初等变换下是封闭的。所谓第1类初等变换,即只包含行交换和列交换的初等变换。
S中的2个矩阵如果可以通过行交换和列交换变来变去,就视为等价的。

现在,如果要求计数时消除等价重复,共有多少个满足要求的解?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-9-6 09:11:36 | 显示全部楼层
5# hujunhua
额,这么简化难度应该更大了吧.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-6 09:46:17 | 显示全部楼层
呵呵,难度可能会更大,但是数值大为变小,我觉得更精炼,更好看。
我不大喜欢那种爆炸式增长的数列,没几项就长得没边、超出人脑的想象力,就没什么感觉了。

上古猿人对超出3的数字就觉得茫然了,可怜我也强不了多少。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-6 12:30:49 | 显示全部楼层
第1类初等矩阵共有10!个,构成10阶置换群,且记为G。GS(左乘)为行变换,SG(右乘)为列变换,GSG为混合变换。

对于S中的非奇异矩阵s, |Gs|=|sG|=10!, 但是|GsG|<=10!2. 所以消除等价重复的过滤率应该在10!~10!2之间。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-12 19:51:03 | 显示全部楼层
试试动态规划算法呀~

每添加$1$行,记录:

每列之和分别为$0000000000$的有几种方案;

每列之和分别为$0000000001$的有几种方案;

每列之和分别为$0000000002$的有几种方案;

每列之和分别为$0000000003$的有几种方案;

每列之和分别为$0000000004$的有几种方案;

每列之和分别为$0000000005$的有几种方案;

每列之和分别为$0000000010$的有几种方案;

每列之和分别为$0000000011$的有几种方案;

每列之和分别为$0000000012$的有几种方案;

每列之和分别为$0000000013$的有几种方案;

每列之和分别为$0000000014$的有几种方案;

每列之和分别为$0000000015$的有几种方案;

每列之和分别为$0000000020$的有几种方案;

每列之和分别为$0000000021$的有几种方案;

……………………………………………………

每列之和分别为$5555555554$的有几种方案;

每列之和分别为$5555555555$的有几种方案。

最多有$6^10$个不同的“每列之和”。

算法的时间复杂度分析:

一共要添加$10$行,对于每$1$行:

有$C(10,0)+...+C(10,5)=638$种添加方案,对于每种添加方案:

最多更新$6^10$种“每列之和”的方案数。

所以该算法的时间复杂度是$10\times 638\times 6^10$,

空间复杂度是$6^10\times 100bits$。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-9-14 14:45:44 | 显示全部楼层
使用蒙特卡罗算法求近似值,结果如下:

方案数为$(1.2729\pm 0.0004)e+27$,置信度为$95%$

或者

方案数为$(1.2729\pm 0.0006)e+27$,置信度为$99.5%$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-2 18:55 , Processed in 0.047466 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表