题解

56 条题解

  • 0
    @ 2009-01-19 10:13:26

    晕,201是答案错误,开小了数组,AC 水题

  • 0
    @ 2008-11-21 18:00:54

    不用排序照样AC,详情见SP教主题解

    ans:=-1;

    for i:=1 to m do

    for j:=1 to n do

    begin

    f:=-1;

    for k:=0 to n do

    begin

    if j=k then continue;

    if(i>=t[j,k]+c[j])and(a[k]

  • 0
    @ 2008-11-13 15:43:37

    膜拜fjxmlhx教主

  • 0
    @ 2008-11-13 14:20:26

    先按 a[] 排序(注意,排序后下标会改变,而两树之间距离是未改变时的)

    int b[100], s[101][1001], t[101][101];

    struct node

    {

    int num, v, w;

    }a[100];

    int main()

    {

    int m, n, res = 0;

    scanf("%d%d", &n, &m);

    for (int i = 1; i ?= s[j][k-t[b[j]][b[i]]-a[b[i]].w]+a[b[i]].v;

    res >?= s[i][k];

    }

    printf("%d\n", res);

    }

  • 0
    @ 2008-11-13 10:32:28

    感谢_jaly_大牛提醒!

  • 0
    @ 2008-11-11 17:20:26

    谢楼上牛的提醒……

  • 0
    @ 2008-11-11 16:56:24

    万分羞涩地秒杀~

    一开始30分WA了,需要注意的是我按果子数目排序后是a[num[i]],前后两个可能存在相同果子的情况,所以在1..i-1 中,我们需保证前面的比 a[num[i]]小..这个要注意,会WA一个点.

    还有一个会WA6个点~ 每个f值应先初始为只捡第num[i]个的时间..~这个我开始没注意~呵呵

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-11-11 08:41:07
    • -||把m看成100了..
      ..无奈..

    为什么数组越界你给我判错误答案..puppy神机啊..!!~~

  • 0
    @ 2008-11-10 12:57:05

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    水题 一次ac

    冒泡就够了 干嘛用快排?

  • 0
    @ 2008-11-09 13:49:55

    program p1370;

    const nmax=101;

    mmax=1001;

    verybig=1000000000;

    var ans,n,m:Longint;

    f:array[0..nmax,0..mmax]of longint;

    dist:array[0..nmax,0..nmax]of longint;

    mark:array[0..nmax,0..mmax]of boolean;

    a,s,c:array[0..nmax]of longint;

    i,j:Longint;

    function dp(now,t:Longint):Longint;

    var i,j:Longint;

    begin

    if tans then ans:=f;

    writeln(ans);

    end.

  • 0
    @ 2008-11-03 20:49:31

    汗!~~AC率啊。。前几次把K打成J了,后来一次没设定边界。。囧啊。。。

  • 0
    @ 2008-11-02 16:25:33

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    M数组开小了..

    竟然开了100..汗..WA了2次..

    时间还算可以

    先QSORT.然后DP

    时间复杂度是O(M*N^2)

    过得去``

  • 0
    @ 2008-10-23 21:30:38

    ……考察细心程度的背包

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

    #include

    #include

    #include

    using namespace std;

    ifstream infile("in.txt",ios::in);

    ofstream outfile("out.txt",ios::out);

    int f[101][1001]={0},a[101]={0},s[101]={0},c[101][2]={0};

    int kuai(int low,int high)

    {int k,t;

    k=a[low];

    while(lowM;

    for(i=1;i>a[i]>>s[i]>>c[i][0];c[i][1]=i;}

    for(i=1;it[i][j];

    qsort(1,n);

    for(i=1;i

  • 0
    @ 2008-10-12 23:28:48

    竟然AC了- -。。汗。。怎么对的都不知道。。

  • 0
    @ 2008-10-11 21:20:42

    囧...偷懒冒泡排序的时候把q打成p...WA了1次...

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

    哪位大牛出来详细说一下0ms的算法?

    DP的话讲下优化 DFS的话解释下怎么剪枝

    谢谢~

  • 0
    @ 2008-10-08 21:00:35

    先以a[i]为关键字排序。for i:=1 to n do for k:=1 to i-1 do for j:=m downto dis[p[k],p[i]]+c[i] do f[j,i]:=max(f[j,i],f[j-dis[p[k],p[i]]-c[i],k]+s[i])扫一遍输出最大值。请教0ms算法?

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-10-07 19:48:39

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    颇慢,,我近10次才AC!因为,我忘记了记录原来树的编号!读进来的数之间的距离与排序后的不一样!!!!

  • 0
    @ 2008-10-07 12:07:54

    囧死了。。。粗心可能会导致任何诡异的错误

    第一次交:

    s[rank[i]]打成了 有效得分:100 有效耗时:0ms============================Orz

信息

ID
1370
难度
6
分类
动态规划 点击显示
标签
递交数
963
已通过
270
通过率
28%
被复制
3
上传者