203 条题解
-
0zh314513 LV 7 @ 2009-07-10 10:09:02
边界条件是什么啊? 为什么我在自己电脑上测试一点问题都没有..10组数据而且. 到这里偏偏说什么让我注意边界条件?
-
02009-07-09 23:50:59@
为什么第二问是最长递增啊?
刚找到一数据
15 16 15 16 16
贪=1
DP非降-1=3
that's why?! -
02009-07-05 22:48:50@
楼下的。。。你哪个贪心不就是最长递增子序列的算法么。。。
-
02009-07-05 21:37:32@
第二问可以直接用贪心搞啊。。弄一个当前各个系统的能打到的高度的数组
第一个是肯定要打的,那么系统+1,然后看第二个。。一个个推导下去。如果现在飞来的导弹当前系统中没一个比它高的。。那么系统+1.。新导弹高度作为新系统的高度。。如果有的话。。可以证明选那个当前能打这个导弹的系统中高度最低的来打是最优选择。。。直接贪心啊。。。
Program p1303;
var
High:array[1..20]of integer;
Last:array[1..20]of integer;
D:array[1..20]of integer;
O,Nowmax,j,i,Max,Min,N,pre:integer;
str,k:string;
temp,t,Num:integer;
ok:boolean;
begin
readln(str);
t:=1;Num:=0;
while true do begin
t:= Pos(',',str);if t=0 then
break;
inc(Num);
k:=Copy(str,1,t-1);
val(k,High[Num]);
Delete(str,1,t);
end;
INC(Num);
val(str,High[Num]);Min:=1;
Last[1]:=High[1];
for i := 2 to Num do begin
ok:=false;O:=maxint;
for j := 1 to Min do
if (Last[j]>=High[i]) and (Last[j]=High[i]) and (D[j]
+1>D[i]) then D[i]:=D[j]+1;
end;
Max:=0;
for i := 1 to Num do
if D[Num]>Max then Max:=D[Num];
writeln(Max,',',Min-1);
end.
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-06-13 16:34:17@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
var
j,max,i,n:longint;
a:array[1..20,1..2]of longint;
procedure init;
var
str:ansistring;
l,i,c:integer;
begin
readln(str);
l:=length(str);
c:=1;
for i:=1 to l do
begin
if str[i]',' then
begin
a[c,1]:=a[c,1]*10+ord(str[i])-48;
end;
if str[i]=',' then inc(c);
end;
n:=c;
end;
begin
init;for i:=1 to n do a:=1;
a[1,2]:=1;
for i:=2 to n do
for j:=i-1 downto 1 do
if (a=a[j,1])and(a -
02009-05-30 14:24:06@
program dpq1;
var
a,b:array[0..1000]of integer;
i,j,n,max:integer;
begin
read(n);
for i:=1 to n do read(a[i]);for i:=1 to n do b[i]:=1;
b[1]:=1;
for i:=2 to n do
for j:=1 to i-1 do
if (a[j]>a[i])and(b[i]max then max:=b[i];
writeln(max);fillchar(b,sizeof(b),0);
b[0]:=0;a[0]:=0;
for i:=1 to n do
for j:=0 to i-1 do
if (a[i]>a[j])and(b[j]+1>b[i]) then b[i]:=b[j]+1;
max:=0;
for i:=1 to n do
if b[i]>max then max:=b[i];
write(max-1);end.
-
02009-05-29 21:10:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms太阴了,数据没个数限制。相当于不让我们在自己机子上试样例,还有那第二问……
-
02009-05-10 16:36:14@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
终于一次AC啦!!!!@_@ -
02009-05-08 15:51:29@
求最长的非升序列 和 最长的 升序列
题目数据很弱,我第一次求的最长的非减序列,竟然过了 -
02009-05-01 14:51:15@
这道题目很猥琐
因为他后面的那个输出是问要增加多少系统
不是问你需要多少系统
囧死我
真是害人 -
02009-04-24 20:09:52@
这题数据很有问题,如果是6,5,1,7,3,2 第二问就是1,其实应该是2...
所以第二问不能单纯是最大上升序列-1吧? -
02009-04-03 15:23:23@
#include
int main()
{
int a[30],n,t,num,d,i,j;
int dp[10000];
char c;
while(1==scanf("%d",&a[1]))
{
memset(dp,0,sizeof(dp));
i=1;
t=0;
while(1)
{
i++;
c=getchar();
if(c=='\n')
break;
scanf("%d",&a[i]);
}
n=i-1;
for(i=n;i>=1;i--)
{
dp[i]=1;
for(j=i;ja[j]&&dp[j]+1>dp[i])
dp[i]=dp[j]+1;
}
if(t=1;i--)
{
dp[i]=0;
for(j=i;j -
02009-03-18 15:47:05@
是我最初看来的难题,如今已是水题
-
02009-01-27 22:43:35@
自从得到了水的滋润,口不干舌不燥……2nd
-
02009-01-24 15:05:55@
Var
da,a:array[0..30] of integer;
str,str1:string;
summ,sum,ch,max,i,s,data,code,abc,aa:integer;
Procedure dfs(k,n,tall:integer);//因为数据太弱,我就扔了个裸搜
var
i:integer;
begin
if k>aa then
begin
if n>summ then summ:=n;
exit;
end;
if da[k] -
02008-12-27 22:16:22@
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■ ■■■■
■■■■■■■■■■■■■■■■■■ ■■■■
■■■■■■■■■■■■■■■■ ■■■■■■
■■■■■■■■■■■ ■ ■■■■■■■■■■
■■■■■■■■ ■ ■■ ■■■■■■■■■■■
■■■ ■■■■■■ ■■■■■■■■■■■■
■ ■■■■■■ ■■■■■■■■■■■■
■ ■■■■■■■ ■■■■■■
■ ■■■■■■ ■■■■
■■ ■■■■■ ■■■ ■■■■
■■■■■■■■ ■■■■■ ■■■■■■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■■■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■ ■■ ■■■■■
■■■■■■■■ ■■■■ ■■ ■■ ■■■■■
■■ ■■■ ■■■■ ■■ ■■■ ■■■■■
■■ ■■■■■ ■■ ■■■■ ■■■■■
■■■ ■■■■■■■■ ■■■■ ■■■■■■
■■■■■ ■■■■■■■■ ■ ■■■■■■■■■
■■■■■■ ■■■■■■■ ■■ ■■■■■■■■
■■■■■■■■■ ■■■■■■ ■■■ ■■■■
■■■■■■■■■■■■■■■■ ■■■■■ ■■■■
■■■■■■■■■■■■■■■ ■■■■■■ ■■■
■■■■■■■■■■■■■■ ■■■■■■■■■ ■■■
■■■■■■■■■■■■■ ■■■■■■■■■■■ ■■■■
■■■■■■■■■■■■ ■■■■■■■■■■■■■■■ ■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ -
02008-12-08 13:35:41@
program p1303;
var
a,b,c:array[1..20] of integer;
min:array[1..20] of integer;
n,i,j,max,p:integer;
m:longint;
s:string;
ch:char;
procedure doit(s:string);
var
p,code,i:integer;
s1:string;
begin
i:=0;
while not(s='') do
begin
inc(i);
p:=pos(',',s);
s1:=copy(s,1,p-1);
delete(s,1,p);
val(s1,a[i],code);
end;
n:=i;
end;
begin
readln(s);
s:=s+',';
doit(s);
for i:=1 to n do
begin
b[i]:=1;
c[i]:=0;
end;
for i:=n-1 downto 1 do
begin
max:=-1;p:=0;
for j:=i+1 to n do
if (a[i]>=a[j]) and (b[j]>max) then begin max:=b[j];p:=j;end;
if p0 then begin b[i]:=b[p]+1;c[i]:=p;end;
end;
max:=0;
for i:=1 to n do
if max=a[i]) then
begin
if min[j] -
02008-11-29 13:43:36@
哪位大牛看一下我错在哪了
program xe1;
var a,b,c:array[1..21] of integer;
i,j,n,t,max:integer;s:string;
begin
readln(s);
s:=s+',';
i:=0;j:=length(s);
while j>0 do
begin
inc(i);
val(copy(s,1,pos(',',s)-1),a[i],t);
delete(s,1,pos(',',s));
j:=length(s);
end;
n:=i;
fillchar(b,sizeof(b),1);
for i:=n-1 downto 1 do
for j:=i+1 to n do
if (a[i]>=a[j]) and (b[i]-1 -
02008-11-12 20:48:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 03:答案错误...
├ Hint: 注意考虑边界情况 ├ 标准行输出
├ 错误行输出
├ 测试数据 04:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ -
02008-11-11 22:10:37@
题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题
题题题题题题题题题题题题题题题题题题题题题题题题题题题题水水水水题题题题题
题题题题题题题题题题题题题题题题题题题题题题题题水水水水水水水水水题题题题
题题题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题
题题题题题题题题题题题题题题题题水水水水水水水水水水水水水水水题题题题题题
题题题题题题题题题题题水水水水题水水水水水水水水水水水题题题题题题题题题题
题题题题题题题题水水水水水水水题水水水题题水水水水水题题题题题题题题题题题
题题题水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
题水水水水水水水水水水水水水水题题题题题题水水水水题题题题题题题题题题题题
题水水水水水水水水水水水水题题题题题题题水水水水水水水水水水水题题题题题题
题水水水水水水水水水水水水题题题题题题水水水水水水水水水水水水水水题题题题
题题水水水水水水水水水水题题题题题水水水水水水题题题水水水水水水水题题题题
题题题题题题题题水水水水题题题题题水水水水题题题题题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水题题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水水题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题题水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水水题水水水水题题水水水水水题题题题题
题题题题题题题题水水水水题题题题水水水题题水水水水题题水水水水水题题题题题
题题水水题题题水水水水水题题题题水水水题题水水水题题题水水水水水题题题题题
题题水水水水水水水水水水题题题题题水水题题水水题题题题水水水水水题题题题题
题题题水水水水水水水水水题题题题题题题题水水水题题题题水水水水题题题题题题
题题题题题水水水水水水水题题题题题题题题水水水题水水水水题题题题题题题题题
题题题题题题水水水水水水题题题题题题题水水水水题题水水水水题题题题题题题题
题题题题题题题题题水水水题题题题题题水水水水水题题题水水水水水水水题题题题
题题题题题题题题题题题题题题题题水水水水水水题题题题题水水水水水水题题题题
题题题题题题题题题题题题题题题水水水水水水题题题题题题水水水水水水水题题题
题题题题题题题题题题题题题题水水水水水题题题题题题题题题水水水水水水题题题
题题题题题题题题题题题题题水水水水水题题题题题题题题题题题水水水水题题题题
题题题题题题题题题题题题水水水题题题题题题题题题题题题题题题水水水题题题题
题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题题