265 条题解
-
0Glamic LV 9 @ 2009-08-04 23:11:46
先对每个城堡写装箱,当满足f[i]=i时,记录结果进布尔组。把布尔组的全设为true。
一个循环downto 0,满足全部为true的输出并结束。提交后我目不转睛地盯着“记录”,等着AC
running
No Compiled
Accepted(闪了一瞬间)
No Compiled
我就纳闷了,样例都一次AC了,怎么会是No Compiled呢?
点击进入一看:编译失败...|错误号:-1
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms右边的Flag显示Accepted。
无语…… -
02009-08-03 10:51:27@
├ 测试数据 09:答案正确... 41ms
├ 测试数据 10:答案正确... 25ms
看来我写的比较烂啊
程序30行 -
02009-08-03 09:35:21@
同楼上的...
-
02009-08-02 16:42:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 25ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:34ms
可怜的我把01背包写成了..... -
02009-08-01 11:41:29@
朴素DP+优化+hash=AC
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 9ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:18ms -
02009-08-01 10:53:00@
编译通过...
├ 测试数据 01:运行时错误...|错误号: 128
├ 测试数据 02:运行时错误...|错误号: 128
├ 测试数据 03:运行时错误...|错误号: 128
├ 测试数据 04:运行时错误...|错误号: 128
├ 测试数据 05:运行时错误...|错误号: 128
├ 测试数据 06:运行时错误...|错误号: 128
├ 测试数据 07:运行时错误...|错误号: 128
├ 测试数据 08:运行时错误...|错误号: 128
├ 测试数据 09:运行时错误...|错误号: 128
├ 测试数据 10:运行时错误...|错误号: 128
这是第十次了,无奈啊! -
02009-07-31 18:16:05@
记录号 Flag 得分 记录信息 环境 评测机 程序提交时间
R1371185 Accepted 100 From Ylen-
P1059 FPC Vijos Dragon 2009-7-31 18:14:26From ycglovewxx
积木城堡编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 41ms
├ 测试数据 09:答案正确... 181ms
├ 测试数据 10:答案正确... 181ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:403ms随便写了01pack,效率低了,不过题目挺好的,值得一做。
-
02009-07-28 19:55:18@
囧死了...01背包写成可重复背包...居然还70分...数据害人呀...
-
02009-07-28 11:47:13@
我用枚举做的。把每个塔能达到的所有高度用bool变量保存,再从最大到最小搜索所有塔能达到的共同高度。
竟然AC了。。编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 9ms#include
using namespace std;
const int oo=2147483647;
int n,minn=oo,sum,maxn;
bool c_reach[101][10001];
struct tower
{
int num;
int height;
int j[101];
}A[101];void init()
{ int a;
for(int i=1;i>a;
if (a!=-1)
{ A[i].num++;
A[i].height+=a;
A[i].j[A[i].num]=a;}
else break;
}
if (A[i].heightmaxn) maxn=A[i].height;
}
}
void chuli(int nou)
{ c_reach[nou][0]=true;
int maxns=0;
for(int i=A[nou].num;i>=1;i--)
{
for(int j=maxns;j>=0;j--)
if (c_reach[nou][j]) c_reach[nou][j+A[nou].j[i]]=1;
maxns+=A[nou].j[i];
}}
void solve()
{ int ofn=0;
int nul=0;
for(int i=1;i=1;j--)
{ ofn=0;
for(int i=1;i -
02009-07-27 15:09:22@
我两次提交一样的程序,看看差距有多大:
编译通过...
├ 测试数据 01:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 02:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 03:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 04:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 05:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 06:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 07:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 08:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 09:运行时错误...| 错误号: 202 | 堆栈溢出错
├ 测试数据 10:运行时错误...| 错误号: 202 | 堆栈溢出错
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 134ms
├ 测试数据 06:答案正确... 88ms
├ 测试数据 07:答案正确... 400ms
├ 测试数据 08:答案正确... 41ms
├ 测试数据 09:答案正确... 306ms
├ 测试数据 10:答案正确... 0ms -
02009-07-26 18:16:34@
就一个提醒:数组别只开10000,至少开到15000
被害惨了!
别太相信数据范围。 -
02009-07-25 15:37:59@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 197ms
├ 测试数据 10:答案正确... 166ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:363ms
没赶上puppy,慢了点
首先找最低的积木高度MIN(再高不能高过它吧)
其次把每组积木能达到的高度用布尔数组存起来(动态规划之背包)
然后从MIN→0去看,如果每组积木都达到此高度,就打印。。。 -
02009-07-24 14:10:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 88ms
├ 测试数据 10:答案正确... 88ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:176ms
var i,j,k,l,m,n,max,max0:integer;
f:array[0..15000] of boolean;
b:array[0..15000] of integer;
begin
readln(n);
fillchar(b,sizeof(b),0);
for i:=1 to n do
begin
j:=0;m:=0;
fillchar(f,sizeof(f),false);
f[0]:=true;
max0:=0;
read(m);
while m-1 do
begin
max0:=max0+m;
for j:=max0 downto 0 do
if (f[j])and(f[j+m]=false)then
begin
f[j+m]:=true;
b[j+m]:=b[j+m]+1;
end;
read(m);
end;
if max0>max then max:=max0;
end;
for i:=max downto 1 do
if b[i]=n then
begin
writeln(i);
halt;
end;
writeln(0);
end.
为什么我把第一个read(m)放到while里时候就过不了呢。。。
我弱弱的说。。。 -
02009-07-24 10:36:52@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 25ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:34msprogram li;
var i,j,k,n,x,high,max,l:longint;
f:array[0..15000]of boolean;
a:array[1..15000]of integer;
begin
readln(n);
f[0]:=true;
for k:=1 to n do
begin
read(x);
while (x-1) do
begin
inc(high,x);
for i:=high downto 0 do
if not(f) and (f[i]) then
begin
f[x+i]:=true;
inc(a[x+i]);
end;
read(x);
end;
if max -
02009-07-23 21:51:32@
http://www.vijos.cn/Record_Show.asp?id=1345135
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 25ms
├ 测试数据 07:答案正确... 72ms
├ 测试数据 08:答案正确... 306ms
├ 测试数据 09:答案正确... 666ms
├ 测试数据 10:答案正确... 650ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1719ms我怎么这么慢??????????
我是先01背包,然后把所有城堡and在一起,再扫描一遍找最大可行解。
请问9ms的程序是怎么样的?
难道这蜗牛速度和我用了结构体(记录)有关系?不过我是一次AC的,庆祝一下。
-
02009-07-15 18:39:56@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 9ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:18ms可算AC了==
-
02009-07-14 10:21:34@
哪个拧写的数据范围......
拉出去打....
同志门,数组开大点 -
02009-07-12 15:01:14@
var a,b,c:array[1..10000]of longint;
n,i,k,x,ii,j:longint;
begin
read(n);
for i:=1 to n do
begin
read(x);
k:=0;
fillchar(b,sizeof(b),0);
fillchar(c,sizeof(c),0);
while x-1 do
begin
j:=k;
for ii:=1 to j do
beginif c[x+b[ii]]=0 then begin k:=k+1;b[k]:=x+b[ii];inc(c[b[k]]);inc(a[b[k]]); end;
end;
if c[x]=0 then begin k:=k+1;b[k]:=x;inc(a[x]);inc(c[x]);end;
read(x);
end;
end;
for i:=10000 downto 1 do
if a[i]=n then begin write(i);exit;end;
end.后面几个有点慢……
108m/s
01背包怎么弄 啊……
我是小菜的说..... -
02009-07-10 09:02:17@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 25ms
├ 测试数据 09:答案正确... 274ms
├ 测试数据 10:答案正确... 274ms
---|---|---|---|---|---|---|---|-
爽!!!!! -
02009-07-08 15:52:25@
很简单的01背包,我写了不下20min,检查不下40min,四次,AC...
不能只怪RP,这次犯的错有些还是有意义的。在比赛之前犯完一切错误!!!
1.文件 ERROR106 我readln(n) 后就close(input) 了,之后就有文件打不开的问题
2.i 这个题我写了两个循环,都用了i, VIOJS编译时就显现错误了,我的FP没这功能,用了几min检查出来
3.改完2之后,for j:=1 to maxn do f[i]:=true; 后面的没改完,又挂了一次
4.常数问题 先开的是maxn=10 方便debug,结果过了一个点(输出的全是0)
再交,直接开到100001,又超时4个点 开到10001 ,过了
注意细节,注意AC率,提高速度! 写题着急的后果是,写的很慢。