题解

129 条题解

  • 0
    @ 2008-12-26 19:56:42

    谁会啊?

    不是CHEAT的.

    会的CALL我啊!

  • 0
    @ 2008-11-10 08:29:50

    打了两天的程序

    只得了50

    想CHEAT

    不过克制住了自己

    哪位大牛来救救我!

    怎么做啊!!!???

  • 0
    @ 2008-10-28 10:10:39

    ``面对用KMP都过不了的字符串题目.我唯有..

    CHEAT了...

  • 0
    @ 2008-10-25 12:51:55

    居然还有人想到KMP,我无语了。

  • 0
    @ 2008-10-01 16:15:25

    200行的程序,昏迷中。。。

  • 0
    @ 2009-08-07 14:29:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    很艰难很艰难

  • 0
    @ 2008-09-29 19:45:50

    超长数字串

    orz

  • 0
    @ 2008-09-25 19:01:48

    很恶心的题,交了n次才过得去,太刷我战绩,狗题!!!!

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-09-19 15:55:55

    program Description(input,output);

    var

    x,max,lw,pj,py,xb,gb,n,m,k,i,j,l,t:longint;

    z:int64;

    name,s,g,s1:string;

    begin

    readln(n);

    z:=0;

    max:=0;

    for i:=1 to n do

    begin

    readln(s);

    l:=length(s);

    j:=pos(' ',s);

    name:=copy(s,1,j-1);

    s:=copy(s,j+1,l-j);

    l:=length(s);

    j:=pos(' ',s);

    s1:=copy(s,1,j-1);

    s:=copy(s,j+1,l-j);

    val(s1,pj,t);

    l:=length(s);

    j:=pos(' ',s);

    s1:=copy(s,1,j-1);

    s:=copy(s,j+1,l-j);

    val(s1,py,t);

    l:=length(s);

    j:=pos(' ',s);

    s1:=copy(s,1,j-1);

    s:=copy(s,j+1,l-j);

    if s1='Y' then gb:=1 else gb:=0;

    l:=length(s);

    j:=pos(' ',s);

    s1:=copy(s,1,j-1);

    s:=copy(s,j+1,l-j);

    if s1='Y' then xb:=1 else xb:=0;

    val(s,lw,t);

    t:=0;

    if(pj>80)and(lw>=1)then

    begin

    t:=t+8000;

    end;

    if(pj>85)and(py>80)then

    begin

    t:=t+4000;

    end;

    if(pj>90)then

    begin

    t:=t+2000;

    end;

    if(pj>85)and(xb=1)then

    begin

    t:=t+1000;

    end;

    if(py>80)and(gb=1)then

    begin

    t:=t+850;

    end;

    z:=z+t;

    if t>max then

    begin

    g:=name;

    max:=t;

    end;

    end;

    writeln(g);

    writeln(max);

    writeln(z);

    end.

  • 0
    @ 2008-09-16 13:14:13

    终于AC了。提交了好多次,最后还以为不能用__int64,白修改了几次,原来是可以用的。

    我的解答是:

    1.把输入数据按照第一个字段的长度进行分类。

    2.对每个分类,考虑出现在输入串中到底有几位,一一进行枚举测试。

    3.特别要注意9和0的处理,9一多,就有好几种可能的。

    4.注意全9和全0的处理,否则容易超时。

    5.大数运算要写好。

    6.可能的答案可能不止一个,要挑最小的。也就是说要枚举完所有的情况后才能决断。

    最好自己造一个大的文件,里面就是1234567891011....,然后从里面随机选取子串进行测试,这样比较容易发现问题。

  • 0
    @ 2008-09-16 01:56:02

    编译通过...

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

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

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

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

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

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

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

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

    ├ 测试数据 09:内存溢出...

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

    ├ 测试数据 11:内存溢出...

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

     ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 13:内存溢出...

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

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

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

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

     ├ 标准行输出

     ├ 错误行输出

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

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

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

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

     ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 22:内存溢出...

    ├ 测试数据 23:内存溢出...

    ├ 测试数据 24:内存溢出...

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

    ├ 测试数据 26:内存溢出...

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

     ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 28:运行超时...

    ├ 测试数据 29:内存溢出...

    ├ 测试数据 30:内存溢出...

    ├ 测试数据 31:内存溢出...

    ├ 测试数据 32:内存溢出...

    ├ 测试数据 33:内存溢出...

    ├ 测试数据 34:内存溢出...

    ├ 测试数据 35:内存溢出...

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

    ├ 测试数据 37:内存溢出...

    ├ 测试数据 38:内存溢出...

    ├ 测试数据 39:内存溢出...

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

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

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

  • 0
    @ 2008-09-12 21:37:03

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

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

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

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

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

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

    ├ 测试数据 07:运行超时...

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

    ├ 测试数据 09:运行超时...

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

    ├ 测试数据 11:运行超时...

    ├ 测试数据 12:运行超时...

    ├ 测试数据 13:运行超时...

    ├ 测试数据 14:运行超时...

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

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

    ├ 测试数据 17:运行超时...

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

    ├ 测试数据 19:运行超时...

    ├ 测试数据 20:运行超时...

    ├ 测试数据 21:运行超时...

    ├ 测试数据 22:运行超时...

    ├ 测试数据 23:运行超时...

    ├ 测试数据 24:运行超时...

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

    ├ 测试数据 26:运行超时...

    ├ 测试数据 27:运行超时...

    ├ 测试数据 28:运行超时...

    ├ 测试数据 29:运行超时...

    ├ 测试数据 30:运行超时...

    ├ 测试数据 31:运行超时...

    ├ 测试数据 32:运行超时...

    ├ 测试数据 33:运行超时...

    ├ 测试数据 34:运行超时...

    ├ 测试数据 35:运行超时...

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

    ├ 测试数据 37:运行超时...

    ├ 测试数据 38:运行超时...

    ├ 测试数据 39:运行超时...

    ├ 测试数据 40:运行超时...

    program v1005;

    var

    s,t,u:string;

    i,ls,lt,lu:longint;

    ans:qword;

    begin

    readln(s);

    ls:=length(s);

    i:=0;

    while true do

    begin

    inc(i);

    str(i,u);

    t:=t+u;

    if pos(s,t)0

    then begin

    ans:=pos(s,t);

    break;

    end;

    end;

    writeln(ans);

    end.

    高手幫忙看看,為什麽會這樣?!?!

  • 0
    @ 2008-09-07 20:04:04

    交了10多遍,改了10多遍,终于改对。终于看出了很多人cheat这题的原因:

    1:为了通过数。2:题目的超级烦琐,超级猥琐。

    我是这样做的:拿输入字符串开刀先读入一个字符串,然后从字符串内部寻找子串,编写一个函数分别求它的前导(求前面一个自然数)和后导(不是数学意义上的求导),分别添加到子串前面和后面,然后看前面和后面分别剩余的位置数,>0继续做。直至调整为原字符串的首尾标记一致的字符串。如果相同说明是了,记e为该子串末位置在s中的位置,然后求出1到该子串数值(整数数值,非字符串)的所有数的数字各数之和(这里要用点DP思想和数学思维),把和减去e就是第一步的结果。

    别急着以为可以了,还不行,因为像‘01’这样的串,在大原串中肯定是‘1011’

    而大原串中数字在s中没有一个是完整的,所以要用截断策略。

    枚举位置和长度,如‘0011’串,枚举到第三位1,长度为3,这时把第三位到s末

    位的子串记为t,那么3-len(t)就是当前枚举串所缺失的位数。把第三位前面的

    长度等与缺失位数的子串的后导添加到t后面(这里要特殊考虑进位的情况)。

    再跟第一步类似的方法jugde一次。可以的话,判断当前结果与是否原来的结果更优(更小),是的话那么就得到解了。

    然后就是刚才说过的求出总位数。

    PS:跟KMP似乎没有关系

    PSS:我说的很不清楚啊

    PSSS:不看也罢

  • 0
    @ 2007-12-07 18:14:38

    忍无可忍了!cheat!

  • 0
    @ 2007-11-26 10:25:39

    楼上大牛的cheat的程序太强了。

  • 0
    @ 2007-11-10 15:07:40

    这题用KMP过不了的,必须枚举长度和断点

  • 0
    @ 2007-09-11 20:40:32

    这题真的可以用KMP吗

    还是我的KMP方法有问题

    编译通过...

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

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

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

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

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

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

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

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

    ├ 测试数据 09:运行超时...

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

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

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

    ├ 测试数据 13:运行超时...

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

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

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

    ├ 测试数据 17:运行超时...

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

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

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

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

    ├ 测试数据 22:运行超时...

    ├ 测试数据 23:运行超时...

    ├ 测试数据 24:运行超时...

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

    ├ 测试数据 26:运行超时...

    ├ 测试数据 27:运行超时...

    ├ 测试数据 28:运行超时...

    ├ 测试数据 29:运行超时...

    ├ 测试数据 30:运行超时...

    ├ 测试数据 31:运行超时...

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

    ├ 测试数据 33:运行超时...

    ├ 测试数据 34:运行超时...

    ├ 测试数据 35:运行超时...

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

    ├ 测试数据 37:运行超时...

    ├ 测试数据 38:运行超时...

    ├ 测试数据 39:运行超时...

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

  • 0
    @ 2007-09-06 22:14:57

    不用所谓的KMP算法的话,也可以做出此题,其大体思想是分类讨论,大概会有4种情况:

    1、数字本身作为那个数。

    2、数字可以分成k段,其中最后一段不完整,比如9991000100;10110210310;......

    3、数字可以分成k段,其中第一段和最后一段均不完整,但有完整的中间段,比如99100010;0110210310;......

    4、数字可以分成2段,其中两段都不完整。

    但是,说起来容易,编码实在是太难了。我编了10KB,450行,而且打了3次补丁,实在不令人满意。主要是0的问题,比如09991000这样的数据,非常烦人。

  • 0
    @ 2007-08-24 21:14:58

    有谁用KMP算法确确实实地过掉了这个题目??真的能过吗?怎么避免生成原自然数串进行比较的过程?这个地方很容易超时呀,有没有什么类似通项公式之类的东西,可以马上计算出第几个位置是哪个数??

  • 0
    @ 2007-08-10 20:29:07

    此题是不是要高精度?为什么我总有一个大数据过不了

信息

ID
1005
难度
8
分类
字符串 | KMP 点击显示
标签
(无)
递交数
6710
已通过
634
通过率
9%
被复制
33
上传者