国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

P1020 導(dǎo)彈攔截

2019-11-08 02:10:19
字體:
供稿:網(wǎng)友

題目描述

某國為了防御敵國的導(dǎo)彈襲擊,發(fā)展出一種導(dǎo)彈攔截系統(tǒng)。但是這種導(dǎo)彈攔截系統(tǒng)有一個(gè)缺陷:雖然它的第一發(fā)炮彈能夠到達(dá)任意的高度,但是以后每一發(fā)炮彈都不能高于前一發(fā)的高度。某天,雷達(dá)捕捉到敵國的導(dǎo)彈來襲。由于該系統(tǒng)還在試用階段,所以只有一套系統(tǒng),因此有可能不能攔截所有的導(dǎo)彈。

輸入導(dǎo)彈依次飛來的高度(雷達(dá)給出的高度數(shù)據(jù)是不大于30000的正整數(shù)),計(jì)算這套系統(tǒng)最多能攔截多少導(dǎo)彈,如果要攔截所有導(dǎo)彈最少要配備多少套這種導(dǎo)彈攔截系統(tǒng)。

輸入輸出格式

輸入格式: 一行,若干個(gè)正整數(shù)最多100個(gè)。

輸出格式: 2行,每行一個(gè)整數(shù),第一個(gè)數(shù)字表示這套系統(tǒng)最多能攔截多少導(dǎo)彈,第二個(gè)數(shù)字表示如果要攔截所有導(dǎo)彈最少要配備多少套這種導(dǎo)彈攔截系統(tǒng)。

輸入輸出樣例

輸入樣例#1: 389 207 155 300 299 170 158 65 輸出樣例#1: 6 2

in: 181 205 471 782 1033 1058 1111 out: 1 7

第一問求最長不升子序列,第二問求最長上升子序列。 http://blog.csdn.net/acdreamers/article/details/7626671

#include<cstdio>#include<iostream>#include<cstring>using namespace std;int n,top,a[1001],d[1001];//d[i]表示長度為i的有序序列中末尾最小的數(shù) int binary1(int l,int r,int x){ if(l<=r) { int mid=(l+r)/2; if(x>d[mid]) binary1(l,mid,x); else {//x>= x=2:2 2 4 找見4, x=3:2 2 4找見4 if((x<d[mid] || x==d[mid]) && x>d[mid+1]) return mid+1; else binary1(mid+1,r,x); } }}int binary2(int l,int r,int x){ if(l<=r) { int mid=(l+r)/2; if(x==d[mid])return mid; else if(x<d[mid]) binary2(l,mid-1,x); else { if(x<d[mid+1]) return mid+1; else binary2(mid+1,r,x); } }}int main(){ scanf("%d",&a[1]); top=1,d[top]=a[1]; int i=2; while(scanf("%d",&a[i])==1) { if(a[i]<=d[top]) d[++top]=a[i]; else{ if(a[i]>d[1]) d[1]=a[i]; else d[binary1(1,top,a[i])]=a[i];// } i++; } cout<<top<<endl; int len=--i; memset(d,0,sizeof d); top=1,d[top]=a[1]; for(int i=2;i<=len;i++) { if(a[i]>d[top]) d[++top]=a[i]; else{ if(a[i]<d[1]) d[1]=a[i]; else d[binary2(1,top,a[i])]=a[i];// } } cout<<top<<endl;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 二连浩特市| 涞水县| 竹山县| 忻城县| 庄浪县| 长子县| 云浮市| 玉门市| 乌拉特前旗| 东方市| 宣城市| 白银市| 常州市| 伊通| 香河县| 辽阳县| 敦化市| 岢岚县| 新和县| 德令哈市| 黑山县| 四平市| 宝山区| 湟源县| 合江县| 兴城市| 全州县| 公主岭市| 福贡县| 集安市| 南宁市| 普宁市| 丹东市| 正镶白旗| 聊城市| 文水县| 韩城市| 建平县| 寻乌县| 施甸县| 昌平区|