题解

72 条题解

  • 0
    @ 2009-08-18 00:42:03

    最高效沙茶算法

    找最大最小,如果中间有一个数比最小的大k且比最大的小k即不行。O(N)

    作者说的,如侵权,本人立即删除。

    (p.s这是为大家好嘛)

  • 0
    @ 2009-08-17 23:48:09

    二分染色?

  • 0
    @ 2009-08-18 17:16:43

    别想复杂了,才1500,平方才2250000,连快排都不用

    泡泡排序+o(n)检查(遍历分点,看是否前半段和后半段最大差都在k以内)=AC

  • 0
    @ 2009-08-10 20:28:59

  • 0
    @ 2009-08-07 21:26:14

    en

  • 0
    @ 2009-08-07 20:49:32

    第一题?基德出现啦!!

  • 0
    @ 2009-08-06 20:20:27

    zgx自己都没过??!!!???!!!???!!大忽悠??~~·!!·~~#¥·#%#……

  • 0
    @ 2009-08-06 20:19:52

    Orz神牛

  • 0
    @ 2009-08-06 19:02:51

    !!!我晕了!!!

  • 0
    @ 2009-08-06 18:42:28

    orz

  • 0
    @ 2009-08-06 18:16:47

    ORz

  • -1
    @ 2014-03-29 08:29:33

    var n,i,k,head,tail:longint;
    a:array[0..100000] of longint;
    procedure qsort(h,l:longint);
    var i,j,m,temp:longint;
    begin
    i:=h;j:=l;m:=a[(i+j) shr 1];
    repeat
    while a[i]<m do inc(i);
    while a[j]>m do dec(j);
    if i<=j then
    begin
    temp:=a[i];a[i]:=a[j];a[j]:=temp;
    inc(i);dec(j);
    end;
    until i>j;
    if i<l then qsort(i,l);
    if j>h then qsort(h,j);
    end;
    begin
    readln(n,a[1],k);
    for i:=2 to n do read(a[i]);
    qsort(1,n);
    head:=2;tail:=n-1;a[0]:=-maxlongint;a[n+1]:=maxlongint;
    while a[head]<=a[1]+k do inc(head);
    while a[tail]>=a[n]-k do dec(tail);
    if head>tail then writeln('Yes') else writeln('No');
    end.
    好水的题啊!快排+扫描=秒杀!

信息

ID
1609
难度
4
分类
图结构 | 二分图 点击显示
标签
递交数
3152
已通过
1231
通过率
39%
被复制
8
上传者