1. /*
  2. 题意:
  3. 给定L个整数A1,A2,...,An,按照从左到右的顺序选出尽量多的整数,
  4. 组成一个上升序列(子序列可以理解为:删除0个或者多个数,其他的数的吮吸不变)。
  5. 例如,1,6,2,3,7,5,可以选出上升子序列1,2,3,5,也可以选出1,6,7,
  6. 但前者更长,选出的上升子序列中相邻元素不能相等。
  7. 思路:
  8. 开辟一个栈,每次取栈顶元素s和读到的元素a做比较,如果a>s, 则加入栈;
  9. 如果a<s,则二分查找栈中的比a大的第1个数,并替换。 最后序列长度为栈的长度。
  10. */
  11. #include<iostream>
  12. #include<algorithm>
  13. #include<cstring>
  14. using namespace std;
  15.  
  16. int a[];
  17.  
  18. int main()
  19. {
  20. int n,u,k;
  21. while(cin>>n)
  22. {
  23. a[]=-;
  24. k=;
  25. for(int i=;i<n;i++)
  26. {
  27. cin>>u;
  28. if(a[k]<u)
  29. {
  30. a[++k]=u;
  31. }
  32. else
  33. {
  34. int l=,r=k,mid;
  35. while(l<=r)
  36. {
  37. mid=l+(r-l)/;
  38. if(u>a[mid])
  39. l=mid+;
  40. else
  41. r=mid-;
  42. }
  43. a[l]=u;
  44. }
  45. }
  46. cout<<k<<endl;
  47. }
  48. }
  1. #include <stdio.h>
  2. #include <string.h>
  3. //author:YangSir
  4. int a[];
  5. int main(){
  6. int n,i,max,b,num,x;
  7. while(~scanf("%d",&n)){
  8. num=;
  9. a[]=-;
  10. scanf("%d",&b);
  11. a[]=max=b;
  12. for(i=;i<n;i++){
  13. scanf("%d",&b);//数组的每个值变化的过程就表示子串一个个代入
  14. if(max<b){
  15. max=b;
  16. num++;
  17. a[num]=max;//子串在增长
  18. }
  19. else{
  20. x=num-;
  21. while(a[x]>=b)
  22. x--;
  23. a[x+]=b;
  24. }
  25. max=a[num];//max可能会变
  26. }
  27. printf("%d\n",num);
  28. }
  29. return ;
  30. }
  1. #include<stdio.h>
  2. #include<algorithm>
  3. using namespace std;
  4. #define INF 1<<30
  5. int main()
  6. {
  7. int n, a[], dp[];
  8.  
  9. while(~scanf("%d", &n))
  10. {
  11. for(int i=; i<n; i++)
  12. {
  13. scanf("%d", a+i);
  14. dp[i] = INF;
  15. }
  16. for(int i=; i<n; i++)
  17. *lower_bound(dp, dp+n, a[i]) = a[i];
  18. printf("%d\n", lower_bound(dp, dp+n, INF)-dp);
  19. }
  20. return ;
  21. }

Stock Exchange (最大上升子子串)的更多相关文章

  1. POJ3903:Stock Exchange(LIS)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87125#problem/E 题目: Description The world ...

  2. POJ 3903 Stock Exchange

    Stock Exchange Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2954   Accepted: 1082 De ...

  3. POJ 3903:Stock Exchange(裸LIS + 二分优化)

    http://poj.org/problem?id=3903 Stock Exchange Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  4. POJ - 3903 Stock Exchange(LIS最长上升子序列问题)

    E - LIS Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u   Descripti ...

  5. POJ 3903 Stock Exchange (E - LIS 最长上升子序列)

    POJ 3903    Stock Exchange  (E - LIS 最长上升子序列) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action ...

  6. poj3903 Stock Exchange(最长上升子序列)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=3903">http://poj.org/problem?id=3903 Descrip ...

  7. poj3903 Stock Exchange 二分+dp

    题目地址:http://poj.org/problem?id=3903 题目: Description The world financial crisis is quite a subject. S ...

  8. Poj 3903 Stock Exchange(LIS)

    一.Description The world financial crisis is quite a subject. Some people are more relaxed while othe ...

  9. POJ3903 Stock Exchange LIS最长上升子序列

    POJ3903 Stock Exchange #include <iostream> #include <cstdio> #include <vector> #in ...

随机推荐

  1. C/C++文件操作经验总结

    最近在做一个从groundtruth_rect.txt中读取按行存储的矩形元素(x, y, w, h),文本存储的格式如下: 310,102,39,50 308,100,39,50 306,99,39 ...

  2. SpringBoot部署到Linux上AppserverApplication,访问不到控制层

    放在本地是好好的,可以请求到,放到Linux上去的话就直接404, 解决办法: SpringBoot有个加载类叫AppserverApplication.这个大家应该都知道,我们平常都是如下写: @S ...

  3. Wine 总结

    下诉描述有些问题,我用非root用户安装的软件有些也会安装到root用户的家目录里不知道为什么:[我知道了,貌似用了sudo的安装的都是在root目录里..] 经过测试,最好用root权限安装,否则会 ...

  4. 014 Android 自定义组合控件

    1.需求介绍 将已经编写好的布局文件,抽取到一个类中去做管理,下次还需要使用类似布局时,直接使用该组合控件的对象. 优点:可复用. 例如要重复利用以下布局: <RelativeLayout an ...

  5. 字典的学习1——参考Python编程从入门到实践

    字典:从汉语词意的角度理解,字典就是一个工具书,可以查找某个字.词.成语等的详细解释,字与解释相对应,而Python中字典则是一些列键和值相对应. Python中,字典放在花括号{键:值}中,eg: ...

  6. SAS学习笔记47 Macro Quoting

    简单来说:Macro Quoting就是将具有特殊功能字符及字母组合的特殊功能隐藏掉.例如:让分号(;)不再表示一个语句的结束,而就是一个普普通通的字符:让GE不再表示大于等于的比较符,而就是两个普普 ...

  7. jdk8新特性--函数式接口的使用

    函数式接口的概念: 函数式接口的格式: 示例: 函数式接口的使用: 简化lambda表达式:

  8. python3 内置方法 字符串转换为字典

    内置方法:eval()将字符串转换为字典代码: str = '''{'backend':'www.oldboy.org', 'record':{ 'server':'122.111.2.23', 'w ...

  9. zabbix的离线安装方法----孙祎晨,如需转载请注明出处,谢谢配合。

    ------------------------zabbix的离线安装步骤--------------------------------------------------------------- ...

  10. Luogu5400 CTS2019随机立方体(容斥原理)

    考虑容斥,计算至少有k个极大数的概率.不妨设这k个数对应的格子依次为(k,k,k)……(1,1,1).那么某一维坐标<=k的格子会对这些格子是否会成为极大数产生影响.先将这样的所有格子和一个数集 ...