303 条题解
-
0wyb love you LV 6 @ 2009-09-09 17:39:50
无
-
02009-09-06 12:37:25@
很随意
-
02009-08-31 20:26:25@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
想知道程序,就往下看!想知道程序,就往下看!
想知道程序,就往下看!
想知道程序,就往下看!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
秒杀....... AC! -
02009-08-30 13:32:58@
编译通过...
├ 测试数据 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-28 21:50:53@
var
n,i,j,max:longint;
a,b,c:array[1..100] of integer;
begin
readln(n);
for i:=1 to n do read(a[i]);
fillchar(b,sizeof(b),0); fillchar(c,sizeof(c),0);
for i:=1 to n do
begin
b[i]:=1;
for j:=1 to i-1 do if (a[i]>a[j]) and (b[j]+1>b[i]) then b[i]:=b[j]+1;
end;
for i:=n downto 1 do
begin
c[i]:=1;
for j:=i+1 to n do if (a[j]c[i]) then c[i]:=c[j]+1;
end;
max:=0;
for i:=1 to n do if b[i]+c[i]>max then max:=b[i]+c[i];
writeln(n-max+1);
end.
编译通过...
├ 测试数据 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-28 17:21:08@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
orz -
02009-08-22 15:13:46@
-
02009-08-18 14:29:34@
相当水的题...正最长不下降+反最长不下降...可以和在一个循环写...
ans=n-(正最长不下降+反最长不下降-1) -
02009-08-16 10:54:02@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
a,b,it:array[0..1000] of integer;
i,j,k,m,n,g,p,max:integer;
begin
read(n);
for i:=1 to n do
read(it[i]);
a[n]:=1;
for i:=n-1 downto 1 do
begin
a[i]:=1;
for j:=i+1 to n do
if (it[i]>it[j]) and (a[i]it[j]) and (b[i]max then max:=a[i];
end;
writeln(n-max+1);
end.双向递推!~~~~~~~~~yes~~~~
-
02009-08-15 20:06:39@
DP
农夫山泉 -
02009-08-14 15:36:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
一个最长上升,一个最长下降
强烈BS自己,竟然自己创了个最长啥子序列的DP公式,然后一直UNAC,今天终于A了 -
02009-08-12 22:51:39@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram p1100;
var
i,j,n,max:longint;
a,b,c:array [1..100] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
fillchar(b,sizeof(b),0);
fillchar(c,sizeof(c),0);
for i:=1 to n do
begin
b[i]:=1;
for j:=1 to i-1 do if (a[i]>a[j]) and (b[j]+1>b[i]) then b[i]:=b[j]+1;
end;
for i:=n downto 1 do
begin
c[i]:=1;
for j:=i+1 to n do if (a[i]>a[j]) and (c[j]+1>c[i]) then c[i]:=c[j]+1;
end;
max:=0;
for i:=1 to n do
if b[i]+c[i]>max then max:=b[i]+c[i];
writeln(n-max+1);
end. -
02009-08-09 20:36:38@
楼下有创意!
-
02009-08-06 20:41:44@
请用鼠标拖动选择下列文字即可显示题解
var n,k,i,j:integer; t,a,b:array [1..100] of integer;function max(a,b:integer):integer; begin if a>b then max:=a else max:=b; end;begin k:=1; readln(n); for i:=1 to n do read(t[i]); readln; for i:=1 to n do begin a[i]:=1; for j:=1 to i-1 do if t[i]>t[j] then a[i]:=max(a[i],a[j]+1); end; for i:=n downto 1 do begin b[i]:=1; for j:=i+1 to n do if t[i]>t[j] then b[i]:=max(b[i],b[j]+1); end; for i:=1 to n do if a[i]+b[i]-1>k then k:=a[i]+b[i]-1; writeln(n-k);end. -
02009-07-29 15:11:12@
本来左一个右一个导弹就完了…………
号……害我WA了n次………………~~~~(>_ -
02009-07-28 09:44:16@
#include
using namespace std;
int a[101],up[101],down[101];
int getUp(int i)
{
int j,p=0;
for(j=i-1;j>=0;j--)
if(a[i]>a[j]&&up[j]>p)
p = up[j];
return p;
}
int getDown(int i)
{
int j,max=0;
for(j=i-1;j>=0;j--)
{
if(a[i]max)
max = up[j];
if(down[j]>max)
max = down[j];
}
}
return max;
}
int main()
{
int i,n,t=up[0]=down[0]=1;
cin>>n;
cin>>a[0];
for(i=1;i>a[i];
up[i]=getUp(i)+1;
if(up[i]>t)
t=up[i];
down[i]=getDown(i)+1;
if(down[i]>t)
t=down[i];
}
cout -
02009-07-27 21:30:51@
-
02009-07-26 13:57:05@
编译通过...├ 测试数据 01:答案正确... 0ms├ 测试数据 02:答案正确... 0ms├ 测试数据 03:答案正确... 0ms├ 测试数据 04:答案正确... 0ms├ 测试数据 05:答案正确... 0ms├ 测试数据 06:答案正确... 0ms├ 测试数据 07:答案正确... 0ms├ 测试数据 08:答案正确... 0ms├ 测试数据 09:答案正确... 0ms├ 测试数据 10:答案正确... 0ms-------------------------Accepted 有效得分:100 有效耗时:0ms
又学了一种新算法,DP新手
-
02009-07-25 23:11:13@
#include
struct
{
int pre;
int value;
}
up[100],down[100];
int height[100];
int n;
void input(void)
{int i;
scanf("%d",&n);
for(i=0;i -
02009-07-26 15:26:32@