P1020 飛彈攔截

2021-07-30 06:31:04 字數 1057 閱讀 2082

某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。

輸入飛彈依次飛來的高度(雷達給出的高度資料是不大於30000的正整數),計算這套系統最多能攔截多少飛彈,如果要攔截所有飛彈最少要配備多少套這種飛彈攔截系統。

389 207 155 300 299 170 158 65
6

2

o(n^2)

第一問是最長下降子串行,第二問是最長上公升子串行。

var

a,b:array[1..100] of longint;

i,j,k,max,ans:longint;

begin

while

not eoln do

begin

inc(k);

read(a[k]);

end;

for i:=2

to k do

for j:=1

to i-1

doif (a[j]>a[i])and(b[j]+1>b[i]) then

begin

b[i]:=b[j]+1;

if b[i]>max then max:=b[i];

end;

fillchar(b,sizeof(b),0);

for i:=2

to k do

for j:=1

to i-1

doif (a[j]and(b[j]+1>b[i]) then

begin

b[i]:=b[j]+1;

if b[i]>ans then ans:=b[i];

end;

writeln(max+1);

writeln(ans+1);

end.

P1020 飛彈攔截

題目描述 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度...

P1020 飛彈攔截

原題鏈結 貪心 記錄每套系統攔截過的最小高度 新來的飛彈 如果高於所有飛彈的最低高度 那就只能再加一套了嘛 如果低於某些系統的最低高度 那就貪心 把它加到 最低高度最低的一套系統內 include include include include include include include inc...

P1020 飛彈攔截

題目描述 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈。輸入飛彈依次飛來的高度...