第1个回答 2009-05-28
结果:(A(420,420)/(A(30,30)^14))*c(420,34)种
----------------------
思路1:一个货物一个货物地放,一个一个地算,一级一级地算,找规律归纳总结。(我就手算,我就不信这是笨方法)
(说明:以下^表示乘方)
第1个货物:14种放法
第2个货物:14^2种放法
...
第30个货物:14^30种放法
----------------
第31个货物:?
我们碰到了每箱30的限制,这时就要开始分类了:
问:14^30种中多少种是1箱都满的,多少种是都没满的?
答:14种是1箱满的,14^30-14种是都没满的
于是
第31个货物:(14^30-14)*14+14*13
----------------
下面用升级算法说明第(任意)个货物时怎么算
----------------
原理:
假设第n个货物的放法中:x0种0箱满,x1种1箱满,x2种2箱满,x3种....
第n+1个货物的放法有多少呢?:
0箱满:(x0-14)*14 -14是因为14种升级到1箱满1
1箱满:14*13+(x1-13)*13 14*13是升级上来的14种的目前放法,-13同样是升级了
2箱满:13*12+(x2-12)*13 同理
.........
----------------
简化:
0箱满:x0-->14*x0-14^2
1箱满: x1-->13*x1+13
2箱满: x2-->12*x2+12
........
----------------
第n+2个货物:
0箱满:14*(14*x0-14^2)-14^2=14^2*x0-14^3-14^2
1箱满:13*(13*x1+13)+13=13^2*x1+13^2+13
2箱满:12*(12*x2+12)+12=12^2*x2+12^2+12
.....
----------------
第n+m个货物:
0箱满:14^m*x0-(14^(m+1)+14^m+...+14^2)
1箱满:13^m*x1+(13^m+13(m-1)+...+13)
2箱满:12^m*x2+(12^m+12(m-1)+...+12)
.....
----------------
于是只要确定初值x0,x1,x2...,n,m值就好了:
第386个货物:
0箱满: n=30,(因为从30开始才有升级现象)
x0=14^30,m=386-30=356
即:14^356*14^30-(14^(356+1)+14^356+...+14^2)
1箱满:n=60,(从60开始出现升级到2箱满的)
x1=c(60,14)*c(14,1)-c(14,2),m=386-60=326
意为:从60箱中选14个货物的组合填到任意一箱,再扣掉2箱满的
2箱满: n=90,同理
x2=c(90,28)*c(28,14)*c(14,2)-c(14,3),m=386-90=296
......
11箱满: n=360,m=386-360=26
x11=c(360,14*11)*c(14*11,14)*c(14*10,14)...c(14*1,14)/A(14,14)-c(14,12)
12箱满:这个不能按上面的算,因为它升不了级
直接就是c(386,360)*c(360,14)*c((360-14),14)*...*c(14,14)*(386-360+1)
---------------------
代入上面的公式,全部加起来就是结果了。
---------------------
以上推理有误的话,欢迎指出。
-------------------------
思路2:先放420个货物,再从中取出420-386=34个
放420个货物放法有A(420,420)/(A(30,30)^14)种,
420个货物中取出34个,有c(420,34)种,
于是得到:(A(420,420)/(A(30,30)^14))*c(420,34)种