当前位置: 首页 > news >正文

公司装修费会计分录网页设计优化网站建设可以吗

公司装修费会计分录,网页设计优化网站建设可以吗,腾讯企业邮箱免费注册入口,网站开发者不给源代码怎么办用二分的思想求最长上升子序列的思想就是保持单调性,用一个q[]数组来作为一个单调数组。 每次将a[i]放进q数组中,但是要保持单调性,q数组的长度就是答案。 q[]数组中存的是所以以下标为长度的最长子序列的结尾的最小值。 理解q[]数组的意义…

用二分的思想求最长上升子序列的思想就是保持单调性,用一个q[]数组来作为一个单调数组。

每次将a[i]放进q数组中,但是要保持单调性,q数组的长度就是答案。

q[]数组中存的是所以以下标为长度的最长子序列的结尾的最小值。

理解q[]数组的意义后那么就可以知道q数组下标从1开始有效。

 

//二分 最大上升子序列
#include<iostream>
using namespace std;
const int N = 1e5 + 9;
int a[N], q[N], n;
//q[]是一个单调数组int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin >> n;for (int i = 0; i < n; ++i) cin >> a[i];int len = 0;q[0] = -2e9;//赋值为最小值,保证不会对结果有影响for (int i = 0; i < n; ++i){int l = 0, r = len;while (l < r){int mid = l + r + 1 >> 1;if (q[mid] < a[i]) l = mid;//找到一个最大且小于a[i]的数else r = mid - 1;}len = max(len, r + 1);//找到之后r + 1就是最大上升序列q[r + 1] = a[i];//a[i]为q[]下一个数的最小的值,因为后面一个数必定大于等于a[i]//所以需要更新他的值}cout << len;return 0;
}

根据上述代码举例,比如找到a[i]找的q[4]就是小于a[i]的最大的数,用因为q[]数组是单调的所以q[5]的值大于等于a[i],这时就可以更新q[5]了,因为q[5]比原先的值小,那么最长子序列的潜力就更大了。

至于二分寻找最大小于a[i]的位置。r先初始化为len的原因就显而易见了,因为就是在q[]数组中寻找嘛!r是找到的位置,r + 1就是应该的最长子序列长度。例如:q[4]为找到的最大小于a[i]的位置,q[r + 1]会被更新成a[i]所以求len时要用r + 1.

http://www.yayakq.cn/news/872988/

相关文章:

  • 上海网站建设门户php教育网站开发工作
  • 抚州网站制作大同网站建设制作哪家好
  • 做任务分享赚钱的网站网站内容如何建设
  • seo站长工具下载公司管理软件有哪些
  • 网站首页设置伪静态网站建设的流程是什么意思
  • 网站的 营销渠道的建设淄博做网站的公司排名
  • 网站模板哪里好绍兴网站建设报价
  • 做网站不推广有效果吗外贸推广的几种方式以及效果排行
  • 苗木网站什么做文章管理系统网站模板
  • 做网站的是干嘛的wordpress后台添加一级菜单
  • 做网站如何购买服务器吗wordpress通过文章id获取文章
  • 做电子政务 网站兴业大街网站建设
  • 自己人网站建设怎么用dw英文版做网站
  • 旅行网站定制公司建设企业网站需要什么呢
  • 赣州网站制作找哪家好电脑去哪里建设网站
  • 电子商务网站建设教程 pdf市场咨询公司排名
  • 英文网站建站公司网站建设实训报告要求
  • 周浦网络网站建设公司网络推广模板网站
  • 网站高端建设wordpress focus主题
  • 域名怎么拿来做网站小公司做网站多少钱
  • 什么行业需要找网络公司做网站西安建筑科技大学华清学院教务网
  • asp做网站的缺点深圳办公室出租
  • 前端开发和网页设计网页优化包括
  • 中小企业做网站推广wordpress站点标题和副标题
  • 域名买好后怎么建设网站做网站 买空间
  • 网站建设需要通过哪些审批郑州市建设局官方网站
  • 备案成功后怎么建设网站园林景观效果图网站
  • 网站导航栏字体怎么建设ftp网站
  • 做网站 360的好不好佛山网站制作做多少钱
  • 安徽网站seo东莞网站设计价格