/ Vijos / 题库 / 盒子 /

题解

80 条题解

  • 0
    @ 2007-06-09 15:27:38

    用F表示i个盒子,放j个红球和k个蓝球的方案数:

    到了第i个盒子,我们可以放xi个红球(0

  • 0
    @ 2007-05-13 11:18:51

    第100题

  • 0
    @ 2007-03-02 22:19:26

    回楼下:可以不开数组...

  • 0
    @ 2007-02-03 11:43:34

    有个疑问..一个盒子里应该可以放n个相同颜色的球,还是只可以放一个相同颜色的球?....

    噢``通过对答案的分析发现是可以放n个...

    那楼下的方案.n+a个盒子中选a个放球,总数c(n+a,a),应该是每个盒子中只能放一个才对啊...怎么回事...

  • 0
    @ 2007-03-13 22:26:11

    我发现另一个问题。。

  • 0
    @ 2006-11-08 08:25:17

    我是这样做的:

    1红球,蓝球都不放到n的盒子中有1钟放法

    2只放红球,那么就是i个红球放到n个盒子中(枚举i从1到a),算出有k1种方法

    3只放蓝球,那么就是i个红球放到n个盒子中(枚举i从1到b),算出有k2种方法

    4红球,蓝球都放,那么有k1*k2种方法

    最后输出4钟情况加起来的和就对了

    记得用qword ac!

  • 0
    @ 2006-10-29 09:48:06

    qword 不够,第十组照样超!!!!!!!可恶啊~~~~~~~~~~我的准确率!

  • 0
    @ 2006-10-29 09:22:04

    大家注意经过我的调试,发现第十组数据不是错的,主要是大家的数组没开够,加上这句就完美了:

    if s>1000000000000000000 then write('10549134770590785600')

    就是因为先前没加,我的正确率啊,爆降

  • 0
    @ 2006-10-23 17:17:24

    DP题

    F前I个盒子装J个红球,K个蓝球的方案数

    就是要注意最后一个点要用QWORD才能过。。。INT64过不了。。。

  • 0
    @ 2006-10-19 20:06:16

    有限重排列!!

    这里给出证明

    重新定义 把放入盒子里的球看作放在该盒子的左边 不放入盒子的球放在最右边

    盒子与球全排列 除掉重复

    搞定

    个人拙见

  • 0
    @ 2006-10-14 10:01:26

    郁闷中,搞了16次才通过

    先用printf有个输出负数,搞了10几次,

    后来用cout没负数了,但有个错……

    郁闷,没办法,只好骗了数据(表BS我)

    发现那个数据除到最后居然不是整数!

    加上个四舍五入,AC了……

  • 0
    @ 2006-10-11 22:56:35

    十分、相当的感谢一楼的告诉我算法,太好了,终于在4次失败之后,AC了(恕本人智商低!)

  • 0
    @ 2006-10-10 21:27:56

    假设n个盒子中放r个,且可以重复,所得的解为c(n,1),c(n,2)...c(n,n)

    根据一一对应的原理,c(n,n),c(n,n+1)...c(n,n+r-1)就可以避免重叠

    所以是从n+1一直到n+a(b).

    用乘法原理就可以得到:

    fa:=c(n+a-1,a)

    fb:=c(n+b-1,b)

    ans:=fa*fb;

  • 0
    @ 2006-09-03 16:48:46

    欧阳德——>屎尿多——>老是被封号,你乱叫什么狗屁????这么弱智的题目也赶吹?????

    看看本大侠的

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 03:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 04:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 07:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 08:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 10:答案错误... ├ 标准行输出

     ├ 错误行输出

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:10 有效耗时:0ms

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~总算对了

  • 0
    @ 2006-09-02 12:52:26

    组合数学问题。

    分成两个部分计算:

    红球方案总数k1:(n+1)*(n+2)*...*(n+a)/1/2/.../a

    黄球方案总数k2:(n+1)*(n+2)*...*(n+b)/1/2/.../b

    最后结果:k1*k2

    怎么得出的?

  • 0
    @ 2006-08-31 21:07:38

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-08-12 21:45:58

    红球方案总数k1:(n+1)*(n+2)*...*(n+a)/1/2/.../a

    黄球方案总数k2:(n+1)*(n+2)*...*(n+b)/1/2/.../b

    最后结果:k1*k2

    是怎么得出的

  • 0
    @ 2006-01-26 09:53:17

    DP解法

    设计函数f(k,i,j)表示到第k个盒子,放进去i个红球和j个黄球的方案总数

    范围太小 懒得往数论上面想了

    写了个bignum的object....其实写起来也还容易..不过既然大牛说过qword就够了...

  • 0
    @ 2006-01-22 20:29:00

    组合数学问题。

    分成两个部分计算:

    红球方案总数k1:(n+1)*(n+2)*...*(n+a)/1/2/.../a

    黄球方案总数k2:(n+1)*(n+2)*...*(n+b)/1/2/.../b

    最后结果:k1*k2

    用qword就可以,不必用高精度。(但是要注意每乘一个数的同时要除一个数)

  • -1
    @ 2009-10-22 17:50:07

    这道题出得不好,数据太小,对于算法这么简单的题,为什么不出高精度的..(最好高精度也超时,需要分解分子分母的质因数,相消后再乘)我一定要编提高版本

信息

ID
1060
难度
5
分类
组合数学 点击显示
标签
(无)
递交数
1931
已通过
716
通过率
37%
被复制
9
上传者