303 条题解
-
0liuganyu LV 3 @ 2009-02-03 09:47:34
#include
int main()
{
int n,t[101],left[101]={0},i,j,right[101]={0};
scanf("%d",&n);
for(i=1;ii;j--)
if((t[j]right[i]))
right[i]=right[j]+1;
}
j=left[1]+right[1]-1;
for(i=2;ij)j=t[0];
}
j=n-j;printf("%d",j);
scanf("%d",&n);
} -
02009-01-30 20:35:15@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
只是求单调子序列 -
02009-01-28 15:40:52@
就是最少需要几位同学出列。……囧,我居然当成有多少人参加……交了N+1次……
-
02009-01-23 21:24:13@
第一道动规,哈哈。
还不错。
交了好几遍,有一次测试输出没去掉就交上去了。。。。。郁闷
其实就是一次从左面上升序列f[i] 一次从右面上升序列g[i]
求n - max{f[i] + g[i] -1} -
02009-01-18 18:46:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms第2道dp题。。。
寒假努力学dp中~~~~~ -
02009-01-14 17:26:43@
第一道动规题。
纪念一下。 -
02009-01-10 20:23:50@
TXX love Horse-TANG
-
02008-12-21 14:16:46@
郁闷
题目意思
理解错了
看了题解才明白
不好意思
(我以为是最大不降子序列) -
02008-12-12 21:42:35@
#include
using namespace std;
int main()
{
int t[50],k=0,n,i;
cin>>n;
for(i=0;i>t[i];
}
for(i=0;it)k+=1;
}
cout -
02008-12-11 13:13:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram p1098;
const
maxn=100;
var
n,i,j,max:integer;
t,a,b:array[0..maxn+1] of integer;
begin
readln(n);
for i:=1 to n do
read(t[i]);
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
t[0]:=-maxint;
for i:=1 to n do
for j:=i-1 downto 0 do
if (t[j]a[i])
then a[i]:=a[j]+1;
t[n+1]:=-maxint;
for i:=n downto 1 do
for j:=i+1 to n+1 do
if (t[i]>t[j]) and (b[j]+1>b[i])
then b[i]:=b[j]+1;
max:=0;
for i:=1 to n do
if a[i]+b[i]>max
then max:=a[i]+b[i];
writeln(n-max+1);
end. -
02008-12-08 13:31:33@
program p1098;
var
a,b,c:array[0..100] of integer;
i,n,m:integer;
procedure doit(k:integer);
var
i,j,max,p,t:integer;
begin
t:=0;
max:=0;
fillchar(b,sizeof(b),0);
fillchar(c,sizeof(c),0);
b[k-1]:=1;
c[k-1]:=0;
for i:=k-1 downto 1 do
begin
if a[i] -
02008-12-05 21:49:47@
很容易的说,正一次反一次就过了
Program singing;
const maxn=100;
var t:array[1..maxn]of integer;
a:array[1..maxn]of integer;
b:array[1..maxn]of integer;
i,j,n,count:integer;
begin
count:=0;
readln(n);
for i:=1 to n do read(t[i]);
a[1]:=1;
for i:=2 to n do
begin
a[i]:=0;
for j:=1 to i-1 do
if (a[j]>a[i])and(t[j]b[i])and(t[j]count then count:=a[i];
end;
writeln(n-count);
end. -
02008-12-03 14:40:13@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms***|Hpec killed P1098 with knife
-
02008-12-02 13:34:13@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
一次AC!
program p1098;
const
maxn=100;
var
n,i,j,max:integer;
t,a,b:array[0..maxn+1] of integer;
begin
readln(n);
for i:=1 to n do
read(t[i]);
fillchar(a,sizeof(a),0);
fillchar(b,sizeof(b),0);
t[0]:=-maxint;
for i:=1 to n do
for j:=i-1 downto 0 do
if (t[j]a[i])
then a[i]:=a[j]+1;
t[n+1]:=-maxint;
for i:=n downto 1 do
for j:=i+1 to n+1 do
if (t[i]>t[j]) and (b[j]+1>b[i])
then b[i]:=b[j]+1;
max:=0;
for i:=1 to n do
if a[i]+b[i]>max
then max:=a[i]+b[i];
writeln(n-max+1);
end. -
02008-11-28 23:43:16@
记录编号 Flag 得分 记录信息 环境 评测机 程序提交时间
R1079793 Accepted 100 From ACKiller-
P1098 FPC Vag 6K 2008-11-28 23:39:54
R1079792 Unaccepted 90 From ACKiller-
P1098 FPC Vag 6K 2008-11-28 23:39:08
R1079788 Unaccepted 90 From ACKiller-
P1098 FPC Vag 6K 2008-11-28 23:37:21
R1079782 Unaccepted 90 From ACKiller-
P1098 FPC Vivid Puppy 2008-11-28 23:31:58
R1079775 Unaccepted 90 From ACKiller-
P1098 FPC Vivid Puppy 2008-11-28 23:26:34
R1079773 Unaccepted 50 From ACKiller-
P1098 FPC Vivid Puppy 2008-11-28 23:25:23
R1079768 Unaccepted 80 From ACKiller-
P1098 FPC Vivid Puppy 2008-11-28 23:21:11其实很简单,最长升/降序列问题,简单动规
7次才AC, 有个点好阴伢!
最后逼我.....{Kevin} {zui chang sheng xu & jiang xu}
program p1098;
var
n,i,j:integer;
m:longint;
fu,fd,t:array[1..100]of integer;
begin
fillchar(fu,sizeof(fu),0);
fillchar(fd,sizeof(fd),0);
readln(n);
fu[1]:=1;
for i:=1 to n do
begin
read(t[i]);
m:=0;
for j:=1 to i-1 do
if (t[j] -
02008-11-22 22:09:17@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
庆祝AC第40题 -
02008-11-13 23:11:34@
var
n,i,j,ans:longint;
t,a,b:array[1..100]of longint;
function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b);
end;begin
readln(n);
for i:=1 to n do
read(t[i]);
for i:=1 to n do begin a[i]:=1;b[i]:=1;end;
for i:=2 to n do
for j:=1 to i-1 do
if t[i]>t[j] then a[i]:=max(a[j]+1,a[i]);
for i:=n-1 downto 1 do
for j:=n downto i+1 do
if t[i]>t[j] then b[i]:=max(b[j]+1,b[i]);
ans:=0;
for i:=1 to n do
ans:=max(ans,a[i]+b[i]-1);
writeln(n-ans);
end.
一开始以为身高相等也可以,结果W了5个。 -
02008-11-12 19:44:10@
这道题目真的是让我想自杀,检查了半天,竟然忘记写downto,细节决定成败啊
-
02008-11-10 16:36:05@
无语,总错~~~~~~~
-
02008-11-10 15:13:10@
囧……
O(N^3)的枚举老是过不去,最近写了个O(NlogN)的,终于过去了