114 条题解
-
0ljq LV 10 @ 2009-08-07 13:19:26
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms主程序:
Begin
Init;
Qsort(1, n);
Main;
Print;
End.
Main部分(比楼上们简单一些):
Begin
i := 1; ans := 0;
Repeat
j := i; Max := b[i];
While (a[j+1] n;
End; -
02009-08-07 11:49:45@
type
re=record
x:longint;
y:longint;
end;
var
a:array[1..20001] of re;
i,j,n,sum:longint;
procedure qs(h,t:longint);
var
i,j,x:longint;
y:re;
begin
i:=h;
j:=t;
x:=a[(h+t)shr 1].x;
repeat
while a[i].xx do
dec(j);
if ij;
if ih then qs(h,j);
end;
begin
readln(n);
for i:=1 to n do
begin
read(a[i].x);
readln(a[i].y);
end;
qs(1,n);
for i:=1 to n-1 do
begin
if (a[i].x -
02009-08-05 21:29:51@
同志们 - - 这道题 要用快排
-
02009-08-04 16:46:57@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms呜呜~~~~(>_
-
02009-08-04 09:58:06@
var
a :array[1..100000]of int64;
b :array[1..100000]of int64;
i,j :longint;
n :longint;
ans :int64;
procedure qsort(l,r:longint);
var
i,j :longint;
x,y :int64;
begin
i:=l;j:=r;x:=a[(i+j)div 2];
repeat
while a[i]x do dec(j);
if ij;
if lb[i]) then begin b[i]:=a[i];a:=a[i];continue; end;
if (a>a[i])and(aa[i])and(a -
02009-08-02 17:56:43@
type
re=record
x:longint;
y:longint;
end;
var
a:array[1..20001] of re;
i,j,n,sum:longint;procedure qs(h,t:longint);
var
i,j,x:longint;
y:re;
begin
i:=h;
j:=t;
x:=a[(h+t)shr 1].x;
repeat
while a[i].xx do
dec(j);
if ij;
if ih then qs(h,j);
end;begin
readln(n);
for i:=1 to n do
begin
read(a[i].x);
readln(a[i].y);
end;
qs(1,n);
for i:=1 to n-1 do
begin
if (a[i].x -
02009-07-31 10:36:27@
第一次接触叫做“线段覆盖”的算法
挺容易理解的 -
02009-07-29 10:57:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-22 10:02:41@
快排+线段覆盖(也就是扫一遍啦~~)
1次AC+0msPS:看完日全食,效率就是高!宇宙次与我力量!!!
-
02009-07-20 10:27:02@
这猥琐题目,花了我2 yers!!!!!!!!!
-
02009-07-15 21:49:34@
离散化
(庆祝第100道AC)!!
-
02009-07-11 16:24:58@
LX 离散化你不会?
-
02009-07-07 10:33:09@
怎么用线段树做这题!!!!!!!!!!!!!!!!!!!!!!
-
02009-06-29 17:42:10@
快排++线段覆盖 = 1次AC
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar i,j,mid,tmp,tmp2,num,i1,n:longint;
a,b:array[1..20001] of longint;
function pd:boolean;
begin
pd:=false;
if b[i]>b[20001] then pd:=true;
end;
procedure qs(l,r:longint);
begin
i:=l;j:=r;mid:=a[(l+r) div 2];
repeat
while a[i]< mid do inc(i);
while mid < a[j] do dec(j);
if ij;
if l < j then qs(l,j);
if i < r then qs(i,r);
end;
begin
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
readln(n);
for i1:= 1 to n do
readln(a[i1],b[i1]);
qs(1,n);
a[20001]:=a[1];b[20001]:=b[1];
for i:=2 to n do if pd then
begin
if (a[i]b[20001]) then
begin
num:=a[i]-b[20001];
a[20001]:=a[20001]+num;
b[20001]:=b[i];
continue;
end;
end;
writeln(b[20001]-a[20001]);
end. -
02009-06-12 22:22:17@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-31 10:42:02@
冬 天 不 冷
program ex;
var i,n,z,d,x,j:longint;
a,b,c:array[1..1000000] of longint;
begin
readln(n);z:=0;d:=0;x:=0;
for i:=1 to n do
begin
readln(a[i],b[i]);
if (a[i]>b[i]) and (a[i]>=d) then d:=a[i]
else if (b[i]>a[i]) and (b[i]>=d) then d:=b[i];
if (b[i] -
02009-05-16 12:06:32@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms用希尔法也可以过(附希尔法)
jump := n ;
while jump > 1 do begin
jump := jump div 2 ;
repeat
f := true ;
for i := 1 to n-jump do
if a > a then begin
t := a ; a := a; a := t ;
t := a ; a := a; a := t ;
f := false ;
end;
until f = true ;
end; -
02009-05-09 19:50:00@
void work()
{
int b=a[1].b,e=a[1].e,L=0;
bool ok=0;
for(int i=2;i -
02009-04-27 13:17:02@
program p1165(input,output);
var
a,b:array[1..100000] of longint;
i,j,n,y:longint;
t:qword;
procedure kp(h,t:longint);
var
i,j,x,y:longint;
begin
i:=h;
j:=t;
x:=a[h];
y:=b[h];
while i -
02009-04-07 19:15:32@
译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:90 有效耗时:0ms
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--
怎么只有90?
var
a,b:array[1..20000]of longint;
i,j,t,n:longint;
procedure sort(l,r:longint);
var
mid,m,i,j:longint;
begin
i:=l;
j:=r;
mid:=a[(i+j) div 2];
repeat
while a[i]mid do dec(j);
if ij ;
if i