题解

154 条题解

  • 0
    @ 2008-09-25 13:15:04

    用高精硬过...

  • 0
    @ 2008-09-25 12:52:17

    ………………

    for i:=1 to 50 do

    begin

    a:=a+a[i] div 10000000000;a[i]:=a[i] mod 10000000000;

    ………………

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    懒惰。直接写高精。。囧

  • 0
    @ 2008-09-23 11:26:32

    编译通过...

    ├ 测试数据 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-08 08:18:54

    写分治法的哥们人能贴个程序上来不?我想瞅瞅。没想明白你们这道题怎么用二分法...

    和循环一样属于倍增法的题目,不同的是循环是自身以平方的倍数增长,这个是以二进制的方法倍增.

    就是把读入的数字拆成二进制,然后为1翻倍 大约就这样.

    最郁闷的是 原题要求每输出50个数字就换行. 结果VJ上没这个要求 搞得我交了三次才看见 伤心...........................

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    Program Mason;

    Const

    Maxn = 1100;

    Jw = 100000;

    Pd = 10000;

    Type

    Hs = Array [0..Maxn] Of Int64;

    Var

    A: Array [0..22] Of Integer;

    G, B: Hs;

    i, j, k, p, l: Longint;

    Procedure HMul(a, b: Hs; Var c: Hs);

    Var

    x, i, j: Longint;

    Begin

    x:=0;

    FillChar(c, SizeOf(c), 0);

    For i:= 1 To 101 Do

    For j:= 1 To 101 Do Begin

    c[i + j - 1] := c[i + j - 1] + a[i] * b[j];

    c[i + j] := c[i + j] + c[i + j - 1] Div Jw;

    c[i + j - 1] := c[ i + j - 1] Mod Jw;

    End;

    End;

    Begin

    FillChar(a, SizeOf(a), 0);

    FillChar(G, SizeOf(G), 0);

    G[1] := 2;

    ReadLn(p);

    k := p;

    l := 0;

    While k > 0 Do Begin

    Inc(l);

    A[l] := k Mod 2;

    k := k Div 2;

    End;

    If A[1] = 0 Then B[1] := 1 Else B[1] := 2;

    For i:= 2 To l Do Begin

    HMul(G, G, G);

    If A[i] = 1 Then HMul(B, G, B);

    End;

    Dec(B[1]);

    l := 0;

    WriteLn(Trunc(p * Ln(2) / Ln(10)) + 1);

    For i:= 100 DownTo 1 Do Begin

    // Inc(l);

    If (B[i] >= Pd) Then Write(B[i]);

    If (B[i] >= Pd Div 10) And (B[i] < Pd) Then Write('0', B[i]);

    If (B[i] >= 100) And (B[i]< Pd Div 10) Then Write('00', B[i]);

    If (B[i] >= 10) And (B[i] < 100) Then Write('000', B[i]);

    If (B[i] >= 0) And (B[i] < 10) Then Write('0000', B[i]);

    // If l Mod 10 = 0 Then WriteLn;

    End;

    End.

  • 0
    @ 2008-09-18 17:27:35

    编译通过...

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

    其实43行代码就可以AC,而且全部0ms

    想看程序的来我的BLOG

    http://blog.163.com/csa_hacker/blog/

    static/93746444200886104525834/edit/

  • 0
    @ 2008-09-03 23:05:44

    ├ 测试数据 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-08-27 09:17:20

    倍增思想

  • 0
    @ 2008-08-25 21:06:14

    我的程序运行超时,我用的是高精度,有没有更快的方法?

  • 0
    @ 2008-08-21 12:00:25

    编译通过...

    ├ 测试数据 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-08-17 15:41:55

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Unaccepted 有效得分:10 有效耗时:541ms

  • 0
    @ 2008-08-15 22:11:03

    赶上puppy了,无奈~AC

  • 0
    @ 2008-08-13 15:40:30

    一次全部0ms,只是我初中生不太明白对数。

    还是不知道这道题为什么是普及组

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    高精度分治,一次AC

    不用快速幂也可以,把P转成2进制,然后求,复杂度是2进制下P的长度

  • 0
    @ 2008-08-05 14:53:40

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-08-02 18:38:19

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

    Rp不好

  • 0
    @ 2007-12-22 14:50:35

    dog!!!!!!!!!!!!!!!!!

  • 0
    @ 2007-11-11 21:56:34

    编译通过...

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

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

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

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

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

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

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

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

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

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

    新手版 一次AC

  • 0
    @ 2007-11-11 12:59:59

    草草了事的程序,啰里啰唆的时间。

    明知道高精度乘法要四五位一起乘,但懒得做。

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2007-10-21 12:50:49

    位数=lg(2^q)+1=q*lg(2)+1=q*ln(2)/ln(10)

    数字,用快速幂,分治思想.

信息

ID
1223
难度
5
分类
数论 | 数位统计 点击显示
标签
递交数
4069
已通过
1446
通过率
36%
被复制
20
上传者