154 条题解
-
0LV.唱响 LV 8 @ 2008-09-25 13:15:04
用高精硬过...
-
02008-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懒惰。直接写高精。。囧
-
02008-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一个高精乘,
一个双高精乘
郁闷死··! -
02008-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 有效耗时:0msProgram 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.
-
02008-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 -
02008-09-06 10:45:09@
其实43行代码就可以AC,而且全部0ms
想看程序的来我的BLOG
http://blog.163.com/csa_hacker/blog/
static/93746444200886104525834/edit/ -
02008-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题水。。没办法
-
02008-08-27 09:17:20@
倍增思想
-
02008-08-25 21:06:14@
我的程序运行超时,我用的是高精度,有没有更快的方法?
-
02008-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 -
02008-08-17 15:41:55@
编译通过...
├ 测试数据 01:运行超时...
├ 测试数据 02:运行超时...
├ 测试数据 03:运行超时...
├ 测试数据 04:运行超时...
├ 测试数据 05:运行超时...
├ 测试数据 06:运行超时...
├ 测试数据 07:答案正确... 541ms
├ 测试数据 08:运行超时...
├ 测试数据 09:运行超时...
├ 测试数据 10:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:10 有效耗时:541ms -
02008-08-15 22:11:03@
赶上puppy了,无奈~AC
-
02008-08-13 15:40:30@
一次全部0ms,只是我初中生不太明白对数。
还是不知道这道题为什么是普及组 -
02008-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的长度
-
02008-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 -
02008-08-02 18:38:19@
Accepted 有效得分:100 有效耗时:9ms
Rp不好 -
02007-12-22 14:50:35@
dog!!!!!!!!!!!!!!!!!
-
02007-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 -
02007-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 -
02007-10-21 12:50:49@
位数=lg(2^q)+1=q*lg(2)+1=q*ln(2)/ln(10)
数字,用快速幂,分治思想.