229 条题解
-
0丿SEX丶elope LV 8 @ 2012-11-08 22:01:13
标准水题。。。
不刷水题,天理难容!
点这里查看程序源码+详细题解
-
02012-10-30 17:10:11@
开始没看到上限二字 少了个=,没过……
快排 用队列指针做 完美AC!!
var
n,w,i,s,head,tail:integer;
a:array[1..30000]of integer;
procedure 快排:不赘述
begin
readln(w); readln(n); s:=0; head:=1; tail:=n;
for i:=1 to n do readln(a[i]);
qsort(1,n);
while head -
02012-08-05 10:52:18@
点击查看代码
数据比较水,开始没看到一组最多两个,都得90分,无语
-
02010-04-15 17:43:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms没看题解,又做对一道了 -。-
-
02010-04-15 17:02:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
Accepted 有效得分:100 有效耗时:0ms
type
arr=array[1..30000] of integer;
var
w,n,num,zh,i,j,k,temp:integer;
p:arr;
procedure pai(l,r:integer);
var
x,y,zhong:integer;
begin
zhong:=p[(l+r)div 2];
x:=l; y:=r;
repeat
while (xzhong) do x:=x+1;
while (x -
02010-04-13 17:28:06@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
lzj,n,s:longint;
a:array[0..30000]of longint;
procedure swap(var a,b:longint);
begin
if ab then
begin
a:=a xor b;
b:=a xor b;
a:=a xor b;
end;
end;
procedure qsort(l,r:longint);
var
i,m,j:longint;
begin
i:=l;j:=r;
m:=a[random(j-i)+i];
repeat
while a[i]m do dec(j);
if ij;
if l=j then
begin
if i=j then inc(l);
over:=true;
end;
end;
writeln(l);
end;
begin
init;
qsort(1,n);
find;
end.var
j,n,s:longint;
a:array[0..30000]of longint;
procedure swap(var a,b:longint);
begin
if ab then
begin
a:=a xor b;
b:=a xor b;
a:=a xor b;
end;
end;
procedure qsort(l,r:longint);
var
i,m,j:longint;
begin
i:=l;j:=r;
m:=a[random(j-i)+i];
repeat
while a[i]m do dec(j);
if ij;
if l=j then
begin
if i=j then inc(l);
over:=true;
end;
end;
writeln(l);
end;
begin
init;
qsort(1,n);
find;
end. -
02010-04-13 17:18:26@
program p1409;
type arr=array[0..30000] of integer;
var i,j,x,k,w,s,n:integer;
p:arr;procedure qs(var b:arr; s,t:integer);
begin
i:=s;j:=t;x:=b[i];
repeat
while (b[j]>=x) and (j>i) do j:=j-1;
if j>i then
begin
k:=b[i]; b[i]:=b[j]; b[j]:=k;
end;
while (b[i] -
02009-11-10 16:22:01@
这被分到DP里面?
贪心嘛…… -
02009-11-10 13:18:46@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
type
tlist=array[0..40000]of longint;
var
a1,x1,y1:tlist;
i,j,k,l,m,n,max,c,q:longint;
procedure qsort(var a:tlist);
procedure sort(l,r:longint);
var
i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]j;
if l -
02009-11-09 21:19:20@
动态规划真的不知道怎么办,贪心是如此的自然
第一次以为较大的要找一个较小中的可以和他组合的最大一个,后来发现,不必这样
因为这样比较大的再小的较大的可以和更小的组合
因此最终用了双指针扫描,比for 好用也更直观,for的话每次还得优化program p1409;
var w,n,total,i:longint;
a:array[1..30000] of integer;
procedure init;
var i:longint;
begin
total:=0;
readln(w);
readln(n);
for i:=1 to n do readln(a[i]);
end;
procedure qsort(l,r:longint);
var i,j,t,tmp:longint;
begin
i:=l; j:=r; t:=a[i];
repeat
while (a[j]>=t) and (j>i) do dec(j);
if j>i then begin tmp:=a[i]; a[i]:=a[j]; a[j]:=tmp end;
while (a[i]i) do inc(i);
if j>i then begin tmp:=a[i]; a[i]:=a[j]; a[j]:=tmp; end;
until i=j;
a[i]:=t;
dec(i); inc(j);
if l -
02009-11-08 08:57:21@
如此动归!!!
-
02009-11-07 17:14:24@
为什么这道题被放在DP的分类里面?
-
02009-11-07 10:33:42@
Flag Accepted
题号 P1409
类型(?) 贪心
通过 2392人
提交 5888次
通过率 41%
难度 1贪心,一次A。。。
-
02009-11-04 14:30:14@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include
#include
int sortquick(int sortArray[], int left, int right)
{
int l = left;
int r = right;
int indexData = sortArray[l];
int index = l;
while (l < r)
{
if (index == l)
{
while (r > l)
{
if (sortArray[r] >= indexData)
{
r--;
}
else
{
sortArray[l] = sortArray[r];
sortArray[r] = indexData;
index = r;
break;
}
if (sortArray[r] == indexData)
{
index = r;
if (r > l)
{
r--;
}
}
}
}
else if (index == r)
{
while (l < r)
{
if (sortArray[l] left)
{
sortquick(sortArray, left, index - 1);
}
if(right>index)
{
sortquick(sortArray, index + 1, right);
}
}
main()
{int max,n,m=0,k=0,l;
int num=0;
scanf("%d/n",&max);
scanf("%d/n",&n);
int f[30000];
for(l=0;l=0;l--)
{if(mmax&&f[l] -
02009-11-02 16:40:47@
从题目中叙述“但每组最多只能包括两件纪念品”的那一刻开始,便注定了这题难逃水题的命运!
处理结尾时注意,以免比答案少一!
---|---|---|---|---|---|---|---|---|---|---|---|---|
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
n,s:longint;
a:array[0..30000]of longint;
procedure swap(var a,b:longint);
begin
if ab then
begin
a:=a xor b;
b:=a xor b;
a:=a xor b;
end;
end;
procedure qsort(l,r:longint);
var
i,m,j:longint;
begin
i:=l;j:=r;
m:=a[random(j-i)+i];
repeat
while a[i]m do dec(j);
if ij;
if l=j then
begin
if i=j then inc(l);
over:=true;
end;
end;
writeln(l);
end;
begin
init;
qsort(1,n);
find;
end. -
02009-10-31 10:44:16@
#include
using namespace std;
int n,w,a[201],res;
int main()
{
cin>>w>>n;
int i,t,l=1,r=w;
for(i=1;i>t;
a[t]++;
}
while(l -
02009-10-30 19:22:40@
贪心都能过
水题!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!! -
02009-10-29 19:27:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
怨念啊,当年没用快排,冒跑才20分...... -
02009-10-28 17:49:39@
program luffy;
var
a:array[1..30000] of integer;
i,j,k,m,n:longint;
procedure s(l,r:longint);
var
i,j,x,temp:longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]x do dec(j);
if ij;
if l -
02009-10-27 19:36:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
快排+贪心=秒杀