题解

125 条题解

  • 0
    @ 2008-10-27 17:42:01

    水题!!

  • 0
    @ 2008-10-27 10:33:59

    今天过的第三道水题。。
    汗。。VJ的水题还真多。。


    下面,详细讲解下``

    首先

    先算出所有.SUM,顾名思义,.是代表前I个数的和.

    然后.开一个数组记录B[ SUM MOD K]

    就是用来记录余数为1~K 的分别有多少个.

    因为(SUM-SUM[J]) MOD K=0

    必定可以推出 SUM MOD K=SUM[J] MOD K;

    所以.

    最核心的部分出来了

    所以我们只要计算 (SUM MOD K)分别有多少个.

    那个B的数组的价值就体现出来了.之前我们已经统计了

    所以就INC(ANS,(B[当前余数]*B[当前余数]-1) SHR 1);

    很多人不明为什么是 (B*(B-1) SHR 1

    因为.假设当前B的有K个.

    要找两个数出来,.就有K(K-1)/2 (不重复)

    而且B内的数都是不重复的.由SUM统计的.I不同的.!

    可能有点乱...

    自己多想想吧..汗

    我的题解比程序还长..郁闷``

    心情好,..就写写题解.

  • 0
    @ 2008-10-19 11:57:32

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-10-15 14:34:51

    var

    n,k,i,s:LONGINT;

    a:array[1..500000] of INT64;

    b:array[1..100000] of INT64;

    begin

    readln(n,k);

    fillchar(a,sizeof(a),0);

    fillchar(b,sizeof(b),0); b[0]:=1;

    for i:=1 to n do

    begin

    readln(a[i]); a[i]:=(a+a[i]) mod k;

    b[a[i]]:=b[a[i]]+1;

    end;

    for i:=0 to k-1 do

    If b[i]>1 then s:=(s+b[i]*(b[i]-1) div 2) mod 1234567;

    writeln(s);

    end.

    大牛帮我侃侃 90分!

  • 0
    @ 2008-10-06 19:40:45

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    靠.int64...

  • 0
    @ 2008-09-21 19:09:26

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-09-21 19:05:42

    编译通过...

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

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

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

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

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

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

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

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

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

    ├ 测试数据 10:答案错误... ├ 标准行输出

     ├ 错误行输出

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

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    INT64!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    @ 2008-09-20 18:33:44

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    好慢。是不是数组开大了?

  • 0
    @ 2008-09-16 22:47:54

    注意int64

  • 0
    @ 2008-09-16 22:14:58

    c(n,2)

  • 0
    @ 2008-09-13 20:32:49

    对不起大家,刚刚搞错提交的地方了。。

  • 0
    @ 2008-10-30 20:08:28

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    不怎么漂亮`\但只有17 行`\

  • 0
    @ 2008-09-13 01:11:24

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    rp真好

    这道题样例错误,应该为7。害得我调了半天,以为是我写错了。结果调程序的时候把数组改小了,最后还因为这个问题,wa了一次,恶心。

    代码楼下已经给出了,不过如果把div 2改为shr 1 应该能像我一样秒杀

  • 0
    @ 2008-09-10 21:45:51

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

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

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

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

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

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

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

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

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

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

    for i:=1 to n do

    begin

    readln(x);

    a[i]:=x;

    a[i]:=a[i]+a;

    inc(b[a[i]mod k]);

    end;

    ans:=b[0]mod 1234567;

    for i:=0 to k-1 do

    ans:=(ans mod 1234567+((b[i] mod 1234567)*((b[i]-1)mod 1234567)) div 2)mod 1234567;

  • 0
    @ 2008-09-04 18:26:44

    系统正在处理您的请求 请勿刷新此页……

    您有新消息

    请点击 这里 进入消息中心

    45 / 80 (56%)   首页 站务 公告 | 题库/分类/原题 记录 比赛 团队 交流 讨论 | U-Space 搜索 换肤 | 登出

    公告 News >>   New! CSC WorkGroup 邀请赛II 按原计划原时间举行 (2008-9-4 14:39:42)   New! 热烈庆祝Vijos总评测记录突破80万条 (2008-9-2 6:33:35)   New! Vijos 交流板块开放 (2008-8-30 22:29:55)   New! CSC WorkGroup 邀请赛II (2008-8-30 0:12:12)   New! 简单的生活模拟赛 评测结束 (2008-8-30 0:10:00)

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

    记录号 Flag 得分 记录信息 环境 评测机 程序提交时间

    R804824 Unaccepted 30 From 695202454-

      P1090 FPC Vivid Puppy 2008-9-4 18:21:41

    From matrix67

    连续数之和

    编译通过...

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

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

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

    ├ 测试数据 04:运行时错误...| 错误号: 216 | 存取非法

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 07:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 08:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 10:答案错误... ├ 标准行输出

     ├ 错误行输出

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

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

    var a:array[0..1000] of integer;

    n,k,i,x,ys,ans:integer;

    begin

    fillchar(a,sizeof(a),0);

    readln(n,k);

    for i:=1 to n do

    begin

    readln(x);

    ys:=(ys+x) mod k;

    ans:=ans+a[ys];

    if ys=0 then inc(ans);

    ans:=ans mod 123456;

    inc(a[ys]);

    end;

    writeln(ans);

    end.

    Flag    Unaccepted

    题号   P1090

    类型(?)   数论 / 数值

    通过   764人

    提交   2195次

    通过率   35%

    难度   2

    提交 讨论 题解

    695202454

     Copyright Vijos 高效信息学在线评测系统 © 2005-2008. www.Vijos.cn Powered by Vivian Snow 关于 联系 帮助

     Vijos Infor ---|- Total Users : 27760 | Online Users / Processes : 86 / 547 | Proc. Time : 94 ms | Current Time : 2008-9-4 18:22:10 湘ICP备06015828号

    谁能告诉我错在哪!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111

  • 0
    @ 2008-08-24 18:40:57

    ??????????????

  • 0
    @ 2008-08-22 21:33:11

    .

  • 0
    @ 2008-08-10 09:54:43

    (Invalid img)

  • 0
    @ 2008-07-24 14:32:44

    强烈BS Vaal Leopard

  • 0
    @ 2008-07-20 21:25:33

    水题!!!!!!!!!!!!!!!

    就是求杨辉三角每个与1234567的余数~~~

    弱!!!~~~~~~~~

信息

ID
1090
难度
5
分类
其他 | 数学 点击显示
标签
(无)
递交数
3965
已通过
1260
通过率
32%
被复制
20
上传者