题解

128 条题解

  • 0
    @ 2009-02-26 23:07:35

    郁闷,交了4次。存取非法,结果是数组开小了...

    并查集加贪心,AC

  • 0
    @ 2009-02-23 18:12:44

    Kruskal的一个小变化

    挺不错的题

  • 0
    @ 2009-02-21 14:13:36

    有哪位大虾可以告诉我PRIM为什么不可以?(先生成再删边,不能连的就当MAXLONGINT加进去)

    能举一些反例吗

  • 0
    @ 2009-01-30 23:21:10

    最近做题很有感觉,只要思路对了,一次就能AC

    Qsort + Kruskal + 并查集

    结束条件:构造n-k条边

  • 0
    @ 2008-12-27 18:49:23

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    30%的数据N

  • 0
    @ 2008-11-12 11:08:05

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    program p1234;

    var a:array[0..10000,0..2] of longint;

    father:array[0..10000] of longint;

    i,j,k,m,n,total:longint;

    procedure qsort(l,r:longint);

    var i,j,k:longint;x,y:longint;

    begin

    k:=l+trunc(random(r-l));

    i:=l;j:=r;x:=a[k][0];

    repeat

    while ax do j:=j-1;

    if ij;

    if l

  • 0
    @ 2008-11-11 18:41:14

    type re=record b,e,l:integer;end;

    var

    m,n,k:integer;

    parent:array[1..1000]of integer;

    edge:array[1..10000]of re;

    total:longint;

    procedure init;

    var i,j:integer;

    begin

    readln(n,m,k);

    if n-m>k then begin writeln('No Answer');halt;end;

    for i:=1 to m do

    readln(edge[i].b,edge[i].e,edge[i].l);

    for i:=1 to n do parent[i]:=i;

    end;

    function getfather(i:integer):integer;

    begin

    if parent[i]=i then exit(i);

    getfather:=getfather(parent[i]);

    end;

    procedure merge(i,j:integer);

    begin

    parent[getfather(i)]:=getfather(j);

    end;

    procedure swap(i,j:integer);

    var x:re;

    begin

    x:=edge[i];edge[i]:=edge[j];edge[j]:=x;

    end;

    procedure qsort(s,t:integer);

    var i,j,x,xb,xe,xl:integer;

    begin

    i:=s;j:=t;randomize;x:=trunc(random(t-s)+s);swap(s,x);

    xb:=edge.b;xe:=edge.e;xl:=edge.l;

    while i

  • 0
    @ 2008-11-11 10:08:20

    谁能告诉我为什么

    同样的程序两次提交结果不同。。。

    测试数据 01:答案错误...

     ├ Hint: lolanv好可爱哦.. ├ 标准行输出

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

     ├ 错误行输出

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

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    这是程序 谁能告诉我错哪里

    var a:array[1..1000]of longint;

    b:array[1..3,1..10000]of longint;

    m,n,i,j,k,sum,c,o:longint;

    procedure qs(r,l:longint);

    var i,j,mid:longint;

    begin

    i:=r;

    j:=l;

    mid:=b[3,(r+j)div 2];

    repeat

    while b[3,i]mid do dec(j);

    if ij then

    begin

    b[3,i]:=b[3,j]+b[3,i];

    b[3,j]:=b[3,i]-b[3,j];

    b[3,i]:=b[3,i]-b[3,j];

    b[2,i]:=b[2,j]+b[2,i];

    b[2,j]:=b[2,i]-b[2,j];

    b[2,i]:=b[2,i]-b[2,j];

    b[1,i]:=b[1,j]+b[1,i];

    b[1,j]:=b[1,i]-b[1,j];

    b[1,i]:=b[1,i]-b[1,j];

    end;

    inc(i);

    dec(j);

    end;

    until i>=j;

    if i

  • 0
    @ 2008-11-10 22:23:57

    看错题,数组少开一位,交了四次才AC

    快排+kruska+并查集 ,秒杀

    编译通过...

    ├ 测试数据 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-10 16:31:06

    楼下是什么写法`- - 那样短`,,是不是这题?~

    这题是裸KRUSKAL,练手很好

  • 0
    @ 2008-11-10 14:33:35

    program medic;

    var w,v:array[1..100]of integer;

    a:array[1..100]of integer;

    i,j,t,m:integer;

    begin

    readln(t,m);

    for i:=1 to m do

    readln(w[i],v[i]);

    fillchar(a,sizeof(a),0);

    for i:=1 to m do

    for j:=t downto 1 do

    if (j>=w[i]) and (a[j]

  • 0
    @ 2008-11-05 19:35:36

    编译通过...

    ├ 测试数据 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-05 19:12:26

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    有bug!!!

    我没有考虑‘No Answer’的情况,,竟然ac了!!!

  • 0
    @ 2008-11-09 08:53:36

    为什么我的快排+kruskal+并查集 会超时?

    那位大牛讲讲有什地方需要优化?

    不胜感谢

  • 0
    @ 2008-11-04 09:07:16

    快排+Kruskal+并查集

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    可以的情况是m>=n-k! 否则NO answer!

  • 0
    @ 2008-10-31 19:33:25

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    这题跟最小生成数的区别真的只有一个变量而已…………

  • 0
    @ 2008-10-31 09:37:03

    口袋的天空解题报告 http://plfxy.blog.hexun.com/25077327_d.html

  • 0
    @ 2008-10-29 22:24:18

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

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

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

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

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

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

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

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

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

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

    一遍AC 堆排+并查集。。可是这时间也太恶心了。。

    谁秒杀的。。代码发给我看一下。Orz。。。。

    QQ:1003545371

  • 0
    @ 2008-10-27 18:53:49

    编译通过...

    ├ 测试数据 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-10-23 15:02:38

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    看懂的K的意义后,此题对于做过最小生成树的人来说,就是水题了。。。。

信息

ID
1234
难度
5
分类
树结构 | 生成树 点击显示
标签
递交数
3667
已通过
1134
通过率
31%
被复制
8
上传者