HDU - 5087
来源:互联网 发布:adobe软件 编辑:程序博客网 时间:2024/06/06 00:35
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <set>using namespace std;typedef long long LL;#define INF 1200000000const int maxn = 1100;int S[maxn],g[maxn],n,d[maxn],fff;void print_ans(int i){if(fff) return ;int res=0;for(int j=0;j<i;j++) if(d[j]+1==d[i] && S[j]<S[i]) res++;if(res>=2) { fff=1; return;}for(int j=0;j<i;j++) if(d[j]+1==d[i] && S[j]<S[i]){ print_ans(j); break;}}int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&S[i]); for(int i=1;i<=n;i++) g[i]=INF; int flag=0,ans=0; for(int i=0;i<n;i++){ int k=lower_bound(g+1,g+n+1,S[i]) - g; d[i] = k; g[k] = S[i]; ans = max(ans,d[i]); } int num = ans; int posi=1; for(int i=0;i<n;i++) if(d[i]==ans) {flag++; posi=i;} if(flag>1){ printf("%d\n",ans); } else { fff=0; print_ans(posi); if(fff) printf("%d\n",ans); else printf("%d\n",ans-1); } } return 0;}
LIC 求second longest 路径 神坑 数据
3
1 1 2
3
3 1 2
0 0
- HDU - 5087
- HDU 5087(DP)
- hdu 5087(LIS变形)
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- 写在前面(自废武功,从头开始)
- 答读者问(23):一个研三学生有关工作之前的学习的疑问及答复
- CH Round #57 - Story of the OI Class 查错
- Hexo 入门指南(六) - sitemap、rss 和部署
- Tweetable Mathematical Art
- HDU - 5087
- 杂谈:HTML 5页面可视性API
- IELTS Classification
- GetElementByClassName、GetElementById、GetElementByTagName的区别
- ORACLE 监听动态注册与静态注
- 条件运算符与逗号的嵌套的疑问,求大神解答(已自行解决)
- CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位
- 设计模式--外观模式
- extern "C"的用法解析