题解

245 条题解

  • 0
    @ 2008-11-01 20:38:28

    f:=f+f

  • 0
    @ 2008-10-29 21:56:08

    汗,暴搜也能ac

  • 0
    @ 2008-10-29 20:32:58

    ...这题目居然被我套公式试出来了

  • 0
    @ 2008-10-29 17:23:07

    var

    f:Array[1..6,-6..200] of longint;

    i,j,n,m:longint;

    begin

    readln(n,m);

    for i:=1 to n do f[1,i]:=1;

    for i:=2 to m do

    for j:=1 to n do

    f:=f+f;

    writeln(f[m,n]);

    end.

  • 0
    @ 2008-10-29 15:58:25

    你们是怎么推得递归式的,多么难推啊!

  • 0
    @ 2008-10-29 15:56:10

    f:=f+f;

    输出f[n,k]即可。

    这个递推式还是比较好理解的,前I个划分成J部分

  • 0
    @ 2008-10-28 19:06:38

    编译通过...

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

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

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

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

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

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

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

    P选手拿C练手.

  • 0
    @ 2008-10-23 20:59:23

    有点water!

    但是我不会做~

    哈哈

  • 0
    @ 2008-10-23 13:22:23

    编译通过...

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

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

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

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

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

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

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

    饿饿饿饿...我先头改错的时候,怕数组暴,把longint换成了integer....................我的AC率..

  • 0
    @ 2008-10-23 08:44:05

    把i分成j份,如果最小数是1,则总数为f[j-1],

    如果最小数大于1,则把每个数减一,得f[j]

    所以f[i][j]=f[j]+f[j-1]

  • 0
    @ 2008-10-22 21:14:55

    F:=F+F; (F代表把I分成J份.)

    不重复,只要保证J

  • 0
    @ 2008-10-22 10:46:20

    这个数据也太弱了,搜索都能秒杀!

  • 0
    @ 2008-10-15 18:33:15

    编译通过...

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

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

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

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

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

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

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

    var

    xz:array[-6..200,0..200]of longint;

    n,k:longint;

    results:longint;

    procedure init;

    var

    i:longint;

    begin

    read(n,k);

    end;

    procedure dsds;

    var

    i,j,l:longint;

    begin

    fillchar(i,sizeof(i),0);

    xz[1,1]:=1;

    for i:=2 to n do

    for j:=1 to k do

    if j

  • 0
    @ 2008-10-12 16:43:47

    题目有歧义哈~ 分出来的数可以两两相同

    三维数组动归 AC

  • 0
    @ 2008-10-07 22:15:38

    //pre储存上一个选择的数,剪掉N多重复

    void DFS (int k, int n, int pre)

    {

    if (k == K-1) //剪枝,到i-1层就够,保证剩下的大于或等于上一个

    {

    if (n >= pre)

    total ++ ;

    }

    else

    {

    int i = pre ;

    for (; ((K-k-1) + i)

  • 0
    @ 2008-10-07 19:21:49

    f=f+f+.....+f; k=min{i-j,j};

    边界:i

  • 0
    @ 2008-10-07 18:10:55

    5, 1, 1

    4, 2, 1

    3, 3, 1

    3, 2, 2

  • 0
    @ 2008-10-04 22:23:13

    不是任意两份不能相同吗?样例的4种都有重复的啊,谁解释一下

  • 0
    @ 2008-10-04 22:21:23

    简单递推

  • 0
    @ 2008-10-02 18:11:31

    int f(int m,int n,int start)

    {

    int i=start,sum=0;

    if(n==1)return 1;

    for(;i

信息

ID
1117
难度
3
分类
动态规划 点击显示
标签
递交数
6168
已通过
3140
通过率
51%
被复制
14
上传者