56 条题解
-
0chc110 LV 4 @ 2009-10-04 08:41:32
a,b,c:array[0..1010]of longint;
悲剧50。
a,b,c:array[0..101010]of longint;
无语100. -
02009-10-03 22:41:16@
其中p序列中的元素两两不相同,q序列中的元素两两不相同
我去掉重复后,只得了10分。
忽略则AC,谁来解释下 -
02009-10-03 19:59:03@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms---| 第1题 ---|---|---|---|---|---|---|---|---|---|---|--
编译通过...
测试数据01:答案正确... 0ms
测试数据02:答案正确... 0ms
测试数据03:答案正确... 0ms
测试数据04:答案正确... 0ms
测试数据05:答案正确... 0ms
测试数据06:答案正确... 119ms
测试数据07:答案正确... 88ms
测试数据08:答案正确... 103ms
测试数据09:答案正确... 103ms
测试数据10:答案正确... 103ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:516ms为啥我考试就不是秒杀。。。一模一样的程序。。。
悲剧啊,看来rp就是差。。。题很水。。
qsort*2+找两头(问题在这么。。。)
我整个人瞬间傻了。。。
我是小菜。。。
//i love puppy
//made by Cccola -
02009-10-03 16:43:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 25ms
├ 测试数据 07:答案正确... 41ms
├ 测试数据 08:答案正确... 25ms
├ 测试数据 09:答案正确... 9ms
├ 测试数据 10:答案正确... 25ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:125ms
晕,比赛的时候就是想不到,吐死了 -
02009-10-03 16:06:54@
求助啊!为什么lld 50分,cout就Ac啊!
-
02009-10-03 15:36:39@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 9ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:9msVIJOS SUNNY……
9MS……这让我压力很大……最近今天真RP……这回居然连Quicksort都没能一遍写对……
-
02009-10-03 15:28:57@
抑郁,提交的时候把排序好的数列输出来了...
0分额...
现在...
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram T1050;
type arr=array [1..100000] of longint;
var a,b:arr;
n,k,i,la,ra,lb,rb:longint;
ans:int64;
procedure qsort(l,r:longint;var s:arr);
var i,j,mid,swap:longint;
begin
i:=l;
j:=r;
mid:=s[(l+r) div 2];
repeat
while s[i]mid do dec(j);
if not (i>j) then
begin
swap:=s[i];
s[i]:=s[j];
s[j]:=swap;
inc(i);
dec(j);
end;
until i>j;
if labs(a[ra]-b[lb]) then
begin
ans:=ans+abs(a[la]-b[rb]);
inc(la);
dec(rb);
end
else
begin
ans:=ans+abs(a[ra]-b[lb]);
inc(lb);
dec(ra);
end;
end;
writeln(ans);
end. -
02009-10-03 14:11:01@
#include
#include
#include
#define maxn 100001int cmp1(const void *a,const void *b){
return *(long *)a-*(long *)b;
}int cmp2(const void *a,const void *b){
return -cmp1(a,b);
}long N,K,A[maxn],B[maxn];
long long Ans=0;int main(void){
long i,l,r;
scanf("%ld%ld",&N,&K);
for (i=1;i -
02009-10-03 13:31:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram gl_1;
type
arr=array[1..100000] of longint;
var
a,b,c:arr;
i,n,kk,k,j:longint;
max:int64;
procedure qsort(var w:arr;l,r:longint);
var
i,j,mid,temp:longint;
begin
i:=l;
j:=r;
mid:=w[(i+j) div 2];
repeat
while w[i]< mid do
inc(i);
while w[j]> mid do
dec(j);
if ij;
if l -
02009-10-03 12:53:48@
水啊。。。
可惜比赛时。。打错一个字母。。。。0分。。。哭。。。对A,B分别从小到大排序。。
比较(A尾-B头)和(B尾-A头)的大小。取大的。。
一直取。。
直到取满K个。 -
02009-10-03 11:32:21@
Accepted 有效得分:100 有效耗时:68ms
为什么我这么沙茶,这么简单的题目还要看题解才会做......
看来以前为了刷题一拿到题目就看题解的习惯是错的......
不过好像在VIJOS上题解里有很多关于题目的WS的地方... -
02009-10-03 11:12:09@
贪心水题、、、
-
02009-10-03 10:25:26@
考试时贪心居然写错了!!
-
02009-10-03 09:32:42@
其实printf 要用 %lld
-
02009-10-03 09:18:59@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar x:int64; i,n,k,i1,i2,j1,j2:longint;
a,b:array[0..200000]of longint;
procedure qsort1(l,r:longint);
var i,j,x,t:longint;
begin
i:=l; j:=r; x:=a[(i+j) div 2];
repeat
while a[i]x do dec(j);
if ij;
if il then qsort1(l,j);
end;
procedure qsort2(l,r:longint);
var i,j,x,t:longint;
begin
i:=l; j:=r; x:=b[(i+j) div 2];
repeat
while b[i]x do dec(j);
if ij;
if il then qsort2(l,j);
end;
begin
readln(n,k);
for i:=1 to n do read(a[i]);
for i:=1 to n do read(b[i]);
qsort1(1,n);
qsort2(1,n);
i1:=1;
i2:=1;
j1:=n;
j2:=n;
x:=0;
for i:=1 to k do
begin
if abs(a[i1]-b[j2])>abs(a[j1]-b[i2]) then
begin
inc(x,abs(a[i1]-b[j2]));
inc(i1);
dec(j2);
end
else
begin
inc(x,abs(a[j1]-b[i2]));
inc(i2);
dec(j1);
end;
end;
writeln(x);
end.Flag Accepted
题号 P1662
类型(?) 其它
通过 67人
提交 79次
通过率 85%
难度 0又AC了
-
02009-10-03 07:51:31@
通过 32人
提交 40次
通过率 80% -
02009-10-03 07:39:32@
我晕了
-
02009-10-03 07:21:26@
解法:贪心 每次选A、B数组里差最大的两个数(方法是先两数组排序 每次进行A的头和B尾的差和A尾B头的差比较 选出较大的)
PS:2次快排+模拟居然没秒杀 鄙视一下Sunny评测机 每次都这么慢……
-
02009-10-03 07:03:04@
农夫山泉
-
02009-10-03 06:59:58@
哪那么麻烦。
说白了:
a升序,b降序,用快排,取两头。
PS.此题即将成为超越a+bproblem的一道经典水题,通过率常年稳定在60%+