#include<iostream>
#include<cstdio> using namespace std; int main(void) { freopen("missile.in","r",stdin); freopen("missile.out","w",stdout); int b = 0;int a[1000][2]; cin>>b; for(int i = 1;i<b+1;i++) { cin>>a[i][1]; a[i][2]=1; } for(int i = 2;i<b+1;i++) { int l = 0; for(int j = 1;j<=i-1;j++) { if(a[j][1]>a[i][1]&&a[j][2]>0) { l=a[j][2]; } if(l>0) { a[i][2]=l+1; } } } int sum= 0; for(int i = 1;i<b+1;i++) { if(a[i][2]>sum) sum = a[i][2]; } cout<<sum<<endl<<1; }
题目 588 [NOIP 1999]拦截导弹
2018-09-08 11:01:44
|
|
总算搞出了stl双logn的做法。。。洛谷上的数据比这要科学,这里没有重复的一开始第一问求下降子序列也对了。。。
题目 588 [NOIP 1999]拦截导弹
2017-09-06 15:59:49
|
|
回复 @kZime : 大佬第二问的dp想法果然比蒟蒻的贪心不知道高到哪里去了%%%
题目 588 [NOIP 1999]拦截导弹
2017-09-06 10:01:21
|
|
坑人[b]的数据读入,cin.eof()在linux下多读了一个字符,导致读入的导弹数比实际的多1,不写n--评测机过不了,写了本地windows过不了
|
|
一道题竟然写了5周!
身败名裂 |
|
终于过了...
不得不吐槽一下弱弱的数据... |
|
问题2的dp一直理解不了,然后,然后打了个模拟...
|
|
第一问:最长不上升子序;
第二问:最长上升子序; |
|
把最长上升子序列复制粘贴了两遍,改了下符号,就过了。。。。。。
|
|
还是有点晕啊!!
|
|
动归不要忘了边界......wa了7次......
|
|
mama
|
|
果然没人写二分。。。
|
|
lis
|
|
。
|
|
|
|
大神们告诉我“加强版(N<=100000)”为啥过不去?
|
|
考炸了
|
|
gankai
|
|
GOOD BOY
|