找回密码
 欢迎注册
查看: 2145|回复: 10

[原创] 5色珠子问题

[复制链接]
发表于 2023-4-24 15:25:57 | 显示全部楼层 |阅读模式

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

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

×
7个红珠子编号1-7,8个绿珠子编号1-8,9个黑珠子编号1-9,10个黄珠子编号1-10,11个兰珠子编号1-11,排成一排,
红珠子不能和绿珠子挨着,黄珠子不能和兰珠子挨着,黑珠子右边第二个如果还有珠子必须是黑珠子,问一共多少种排列
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-4-24 16:57:25 | 显示全部楼层
黑珠子是切入点。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-4-25 09:03:46 | 显示全部楼层
我只会穷举法!
一共45颗珠位,从右向左编为1-45号,黑珠只能占据18号以下的靠右位置,共有以下10种占位组合。
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1




















































































假设没有黑色珠子时,#1个红珠子,#2个绿珠子,#3个黄珠子,#4个兰珠子的合理排列总数为 f(#1,#2,#3,#4), 则总排列数为\[
9!·\sum_{i=0}^9\sum_{a+b+c+d=i}C_7^a·C_8^b·C_{10}^c·C_{11}^d·i!·f(7-a,8-b,10-c,11-d)
\]

点评

补全了  发表于 2023-5-1 22:44
nyy
这个被别人修改过了!  发表于 2023-4-27 10:57
应该10类  发表于 2023-4-27 06:54
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-4-25 12:36:23 | 显示全部楼层
假设`a`个红珠子,`b`个绿珠子,`c`个黄珠子,`d`个兰珠子的合理排列总数为\[
dp(a,b,c,d)=dp(a,b,c,d,1)+dp(a,b,c,d,2)+dp(a,b,c,d,3)+dp(a,b,c,d,4)
\]其中\[\begin{split}
dp(a,b,c,d,1)&=dp(a-1,b,c,d,1)+dp(a,b,c-1,d,3)+dp(a,b,c,d-1,4),
\\dp(a,b,c,d,2)&=dp(a,b-1,c,d,2)+dp(a,b,c-1,d,3)+dp(a,b,c,d-1,4),
\\dp(a,b,c,d,3)&=dp(a-1,b,c,d,1)+dp(a,b-1,c,d,2)+dp(a,b,c-1,d,3),
\\dp(a,b,c,d,4)&=dp(a-1,b,c,d,1)+dp(a,b-1,c,d,2)+dp(a,b,c,d-1,4)
\end{split}\]故总数为\[
dp(7-x,8-y,10-z,11-t)*P(x+y+z+t=8)+dp(7-x,8-y,10-z,11-t)*P(x+y+z+t=9)\]

点评

这个问题的确要用动态规划去解决,题目的规模还不算太大。  发表于 2023-4-25 22:03
郭老板说过尽量不要把汉字一古脑地框到公式中去。  发表于 2023-4-25 16:23
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-4-26 14:57:00 | 显示全部楼层
这个问题可以通过暴力枚举法来解决。我们可以将所有可能的排列都枚举一遍,并且对符合条件的排列进行计数,最后得到答案。

首先我们可以考虑红珠子和绿珠子不能相邻这个条件。如果我们将红珠子和绿珠子分别看作一个整体,那么我们就有6个整体,它们之间可以自由地进行排列。因此,这个条件下的排列总数为6!。

接着考虑黄珠子和兰珠子不能相邻这个条件。我们可以将黄珠子和兰珠子交替放置,也就是说,我们先将黄珠子放在第一位,然后将兰珠子放在第三位,接着将黄珠子放在第五位......以此类推。这样的排列总数为5!。

最后考虑黑珠子右边第二个如果还有珠子必须是黑珠子这个条件。我们可以将所有珠子按照颜色分成5组,每一组中的珠子可以自由地进行排列,而不同组之间则需要满足黑珠子右边第二个是黑珠子这个条件。我们可以先将所有珠子排成一排,然后将黑珠子的位置固定在第1、2个位置,然后将剩下的珠子按照颜色分成4组,每一组中的珠子可以自由地进行排列。这样的排列总数为:

2! * 4! * 5! * 6! * 7! * 8! * 9! * 10! * 11!

综上所述,符合条件的排列总数为6! * 5! * 2! * 4! * 5! * 6! * 7! * 8! * 9! * 10! * 11!,约为1.623 × 10^27。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-4-26 22:13:33 | 显示全部楼层
试着动态规划计算了一下,输出结果是
13854035882970052
对应C++代码 https://github.com/emathgroup/se ... ached/trees/cnt.cpp

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-5-2 22:42 , Processed in 0.046253 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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