首页 > 代码库 > hdu 1257 最少拦截系统
hdu 1257 最少拦截系统
最少拦截系统
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18049 Accepted Submission(s): 7109
少见的中文题意思就不解释了
简单的dp题 用dp【l】记录每个拦截系统的现有高度 每遇到一个新导弹就让其与dp【l】中的每个系统的高度相比 如果有比导弹高的就直接用该系统将导弹拦截
更新高度否则 dp【l++】=目前导弹高度
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main() { int n,a[1005],dp[1005],i; while(cin>>n) { for(i=0;i<n;i++) cin>>a[i]; memset(dp,0,sizeof(dp)); int l=1; dp[0]=a[0]; for(i=0;i<n;i++) { for(int j=0;j<l;j++) { if(dp[j]>=a[i]) {dp[j]=a[i];break;} if(dp[l-1]<a[i]) dp[l++]=a[i]; } } cout<<l<<endl; } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。