分析:
发现自己连拦截导弹都不能5min切掉了 看来原来学的忘得差不多了第一问就是最长不上升序列
第二问是最长上升子序列tip
注意n=1的情况
这里写代码片#include#include #include using namespace std;char s[1010];int g[30],a[30],f[30],tot=0,tt=0;void doit(){ int i,j,ans1=0,mx1,mx2,k; for (i=1;i<=tot;i++) { mx1=0; mx2=0; for (j=1;j =a[i]) mx1=max(mx1,f[j]); else mx2=max(mx2,g[j]); f[i]=mx1+1; g[i]=mx2+1; ans1=max(ans1,f[i]); tt=max(tt,g[i]); } printf("%d,%d",ans1,tt-1);}int main(){ scanf("%s",&s); int num=0; for (int i=0;i ='0'&&s[i]<='9') num=num*10+s[i]-'0'; else a[++tot]=num,num=0; } a[++tot]=num; doit(); return 0;}