118 条题解

  • 0
    @ 2009-11-03 10:21:05

    ....我想不出来诶。为什么有一样的单词会有影响啊,预处理的时候不是就算有两个单词一样也可以无视掉吗。?

  • 0
    @ 2009-10-30 22:04:34

    AC 了,起码提交 6 次了,贡献了很多分母啊!

    细节很重要,不要以为没有影响,其实影响大得很!

  • 0
    @ 2009-10-28 22:34:17

    好丑的时间......细节题,细节题!

    刚才发现有个叫gcc的不停的在交p1000

    害我等了半天才看到结果....

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

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2009-10-28 21:45:53

    编译通过...

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

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

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

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

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

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

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

    第3点我为什么得158???

  • 0
    @ 2009-10-28 19:12:17

    水题……水过

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2009-10-22 23:00:52

    这题的边界条件真的很烦人

    无效的状态最好附一个很小的数(负数)

    如果只分成一部分, 就取那部分包含所有的单词数(一定要专门处理)。

  • 0
    @ 2009-10-21 07:41:22

    某神牛说此题数据只要预处理就可拿60分?

    第三个点Cheat了。。。

    问下第三个点输出195的原因?我已经把重复的单词去掉了啊(这样第四个点过了)

  • 0
    @ 2009-10-14 20:38:01

    Orz..第三个点输出195的朋友们注意啦...

    第二次DP的k循环那里啊...不要把无效的转移进来..

  • 0
    @ 2009-10-12 20:35:06

    有这种错的人吗?

    编译通过...

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

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

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

    ├ 测试数据 04:答案错误... 

    ├ 标准行输出 125

     ├ 错误行输出 158

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

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

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

  • 0
    @ 2009-10-11 23:19:44

    我靠,好歹是参加过NOI的人了……平时菜DP无数,这次竟然败在无效状态上,靠~

  • 0
    @ 2009-11-08 16:38:05

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2009-10-07 11:06:08

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2009-10-07 10:54:49

    var

    i,j,p,k,max,t,n,q:longint;

    s,st,l:string;

    a:array[0..2000] of longint;

    list:array[0..500] of string;

    g,f:array[0..1000,0..1000] of longint;

    begin

    assign(input,'wordnum.in');reset(input);

    assign(output,'wordnum.out');rewrite(output);

    readln(p,k);

    for i:=1 to p do

    begin

    readln(st);

    s:=s+st;

    end;

    n:=20*p;

    readln(t);

    for i:=1 to t do

    readln(list[i]);

    for i:=1 to t-1 do

    for j:=2 to t do

    if length(list[i])>length(list[j]) then

    begin

    l:=list[j];

    list[j]:=list[i];

    list[i]:=l;

    end;

    for i:=1 to n do

    begin

    a[i]:=n+1;

    for j:=1 to t do

    if copy(s,i,length(list[j]))=list[j] then

    begin

    a[i]:=i+length(list[j])-1;

    break;

    end;

    end;

    fillchar(g,sizeof(g),0);

    for i:=1 to n do

    for j:=i to n do

    for q:=i to j do

    if a[q]

  • 0
    @ 2009-10-05 19:35:39

    编译通过...

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

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

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

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

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

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

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

    虽然没有秒杀,但是一次ac,还是很高兴

  • 0
    @ 2009-10-04 18:01:12

    program mm;

    var

    a,f:array[0..200,0..200] of longint;

    i,j,k,l,m,n,o,p:longint;

    s,s1:string;

    b:array[0..100] of string;

    begin

    fillchar(f,sizeof(f),0);

    readln(l,k);

    for i:=1 to l do begin

    readln(s1);

    s:=s+s1;

    end;

    readln(m);

    for i:=1 to m do

    readln(b[i]);

    n:=length(s);

    for i:=1 to n do

    for j:=i to n do

    for l:=i to j do begin

    for o:=1 to m do

    if (b[o][1]=s[l]) and (length(b[o])f then f:=f[p,j-1]+a[p+1,i];

    writeln(f[n,k]); }

    end.

  • 0
    @ 2009-09-23 21:58:47

    第3个点196或192的人注意一下

    如果你是192,注意第2次DP:for k:=j-1 to i-1 do f:=max(f,f[k,j-1]+g[k+1,i]);

    如果你是196,注意输入的k不要当循环变量名使用{竟然这么危险的错误才错1个点}

  • 0
    @ 2009-09-22 15:14:11

    for i:=1 to length(s) do

    for j:=1 to min(i,k) do

    begin

    for h:=j-1 to i-1 do

    f:=max(f,f[h,j-1]+g[h+1,i]);

    end;

    f表示将前i个字符分为j个部分的包含的最大单词个数

    g表示在i到j包含的最大单词个数

    注意h是从j-1开始循环,就因为这个wa了一次

  • 0
    @ 2009-09-22 13:15:32

    简单的双DP

  • 0
    @ 2009-09-19 12:22:54

    编译通过...

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

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

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

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

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

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

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

    让人无语,我用搜索做了3遍都超时,死磕动规又不是我的强项,好无语啊

  • 0
    @ 2009-09-18 17:26:19

信息

ID
1118
难度
6
分类
动态规划 点击显示
标签
递交数
3793
已通过
1054
通过率
28%
被复制
11
上传者