题解

108 条题解

  • 0
    @ 2009-10-24 18:21:52

    额,贪心剪枝+搜索,可为什么第9个是55= =....

  • 0
    @ 2009-10-23 19:49:22

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    ....cheat a little

  • 0
    @ 2009-10-23 13:31:21

    我第九个点也是56。。。。。。。

    打表了。。。。。。。。。。。。

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    #include

    int N,P,Ans,Pan[310],Num[310],Record[310][310],Link[310][310];

    int Search(int come,int now)

    {

    if(Num[now]==0)

    {

    Num[now]=1;

    int a,b;

    for(a=1,b=0;a

  • 0
    @ 2009-10-22 21:28:03

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

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

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

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

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

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

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

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

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

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

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

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

    按层暴搜竟然过了……

  • 0
    @ 2009-10-03 13:50:57

    随机搜索,当每层的节点数超过5时,随机取1/3搜索可以过

  • 0
    @ 2009-09-17 13:06:37

    第9个点为什么是55 啊?

    我搜出56

    难道一定要cheat吗?

  • 0
    @ 2009-09-17 08:41:16

    暴力随机。。差不多100次就可以了。。不过最后一个点用我生日做种子没出来。。换我GF的生日做种子就出来了。。。

  • 0
    @ 2009-09-15 20:05:37

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    每层搜索20个最优点

  • 0
    @ 2009-09-03 18:55:17

    type arr=array[1..300]of boolean;

    var

    aa:array[1..300]of longint;

    sub:array[0..30]of longint;

    b:array[1..300]of integer;

    f:array[1..300]of longint;

    s:array[1..300]of longint;

    ss:array[1..300]of longint;

    ii,t,tot,sum,k,qk,i,j,max,n,p,ans,x,y:longint;

    now:arr;

    function updata(now:arr;i,d:longint):arr;

    var z:longint;

    begin

    for z:=1 to n do if (b[z]=d)and now[f[z]] and (zi) then begin now[z]:=true;tot:=z;end;

    updata:=now;

    end;

    procedure search(j,d:longint;now:arr);

    var ii,x,ok,i,t:longint;

    begin

    if d=max+1 then

    begin

    if ans>n-sum then ans:=n-sum;

    writeln(ans); halt;

    end;

    if (n-sub[d]-sum>ans) and (ans0) then exit;

    ok:=0;

    for ii:=1 to n do

    begin

    i:=aa[ii];

    if (b[i]=d) and (now[f[i]]) then

    begin

    sum:=sum+s[i];

    search(i,d+1,updata(now,i,d));

    sum:=sum-s[i];

    inc(ok);

    end;

    end;

    if ok=0 then if ans>n-sum then ans:=n-sum;

    end;

    begin

    readln(n,p);b[1]:=1;

    for i:=1 to p do

    begin

    readln(x,y);

    if b[x]=0 then f[x]:=y else f[y]:=x;

    if b[x]=0 then b[x]:=b[y]+1 else b[y]:=b[x]+1;

    end;

    max:=0;

    for i:=1 to n do if max

  • 0
    @ 2009-09-02 21:05:02

    终于过了啊!!!

    可恶的非完美算法!

    可恶的题!!!

  • 0
    @ 2009-09-02 14:17:52

    计算出每个点的周期

    然后按周期搜索

  • 0
    @ 2009-08-27 16:20:35

    同志们用搜索

  • 0
    @ 2009-08-22 15:16:25

    开数组存下每个结点的父结点

    然后按层搜(不是结点)

    1肯定在第一层,他的儿子在第2层,以此推知所有结点的层数

    然后从第一层开始搜

    很裸很裸,但很快很快

  • 0
    @ 2009-08-07 14:17:58

    从一开始建有向树...搜索咯

    不敢发代码了........怕被删

  • 0
    @ 2009-08-07 09:52:41

    以前一直以为历年最后一道是强题,所以看到这道题目一直不敢写裸搜

    自从喝了急支糖浆,哎,我灵清了,原来这道题目也可以一次秒杀。

  • 0
    @ 2009-07-31 15:38:32

    此题就是裸搜~难点是建树,通俗的说就是搞清楚老子和儿子

    需要注意的是1一定是要是老子,不会变成儿子(我在这里WA了一次)

    不过,由于数据弱的缘故~导致结点小的一定是老子(小号尝试过)~~~~这显然是错的,但你可以AC

    为了rp,大家还是好好地建树吧~

  • 0
    @ 2009-07-29 11:42:33

    只有最优性减枝都能全0ms

  • 0
    @ 2009-07-28 19:52:24

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    啊哈哈哈 贪心果然好用

    经过实践证明的权值:深度+总孩子数*4+子节点数*7;谁的大砍谁

    program asd;

    var

    ttt,dfs:array[0..300]of integer;

    f:array[1..300]of longint;

    ceng,num:array[1..300]of integer;

    t:array[1..300]of array[0..300]of integer;

    mg:array[1..300,1..300]of boolean;

    date,head,tail,j,i,a,b,n,p,nn:integer;

    max:longint;

    procedure build(i:integer);

    var o:integer;

    begin

    num[i]:=1;

    for o:=1 to n do

    if (mg) then

    begin

    mg:=false;mg[o,i]:=false;

    inc(t[i][0]);t[i][t[i][0]]:=o;

    ttt[o]:=ttt[i]+1;

    build(o);

    inc(num[i],num[o]);

    if ceng[o]>ceng[i] then ceng[i]:=ceng[o];

    end;

    inc(ceng[i]);

    f[i]:=num[i]*4+ceng[i]+t[i][0]*7;

    end;

    begin

    readln(n,p); fillchar(mg,sizeof(mg),false);

    for i:=1 to p do

    begin

    readln(a,b);

    mg[a,b]:=true;

    mg:=true;

    end; ttt[1]:=0;

    build(1);

    dfs[1]:=1;head:=1;tail:=1;

    while headmax then begin max:=f[dfs[tail]];j:=tail; end;

    end;

    inc(head);

    while (dfs[head]=0)and(headtail then break;

    until ttt[dfs[head]]date;

    dfs[j]:=0;if j0 then inc(nn);

    end;

    writeln(tail-nn);

    end.

  • 0
    @ 2009-06-04 13:34:39

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    秒杀!!!!!!

    最优化剪枝+链表,不过也得过。

  • 0
    @ 2009-03-23 18:29:06

    用结构体写就TLE

    改成裸数组AC

信息

ID
1101
难度
6
分类
搜索 | 搜索与剪枝 点击显示
标签
递交数
3470
已通过
889
通过率
26%
被复制
14
上传者