POJ 1631 nlogn求LIS

方法一: 二分

我们可以知道 最长上升子序列的 最后一个数的值是随序列的长度而递增的 (呃呃呃 意会意会)
然后我们就可以二分找值了(并更新)

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,cases,a[100050],f[100050],vis[100050];
int search(int x){int l=0,r=n,ans=0;while(l<=r){int mid=(l+r)>>1;if(vis[mid]<=x)l=mid+1,ans=mid;else r=mid-1;}return ans;
}
int main()
{scanf("%d",&cases);while(cases--){memset(f,0,sizeof(f));memset(vis,0x3f,sizeof(vis)),vis[0]=0;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++){f[i]=search(a[i])+1;vis[f[i]]=min(vis[f[i]],a[i]);}for(int i=1;i<n;i++)f[n]=max(f[n],f[i]);printf("%d\n",f[n]);}
}

方法二:
线段树 (按照权值建) 查询前一段中的最大值。。并插入当前的值,,

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,cases,a[100050],f[100050],xx,tree[666666];
void insert(int l,int r,int pos){if(l==r){tree[pos]=f[xx];return;}int mid=(l+r)>>1,lson=pos<<1,rson=pos<<1|1;if(mid<a[xx])insert(mid+1,r,rson);else insert(l,mid,lson);tree[pos]=max(tree[lson],tree[rson]);
}
int query(int l,int r,int pos){if(r<=a[xx])return tree[pos];int mid=(l+r)>>1;if(mid<a[xx])return max(query(l,mid,pos<<1),query(mid+1,r,pos<<1|1));else return query(l,mid,pos<<1);
}
int main(){scanf("%d",&cases);while(cases--){memset(tree,0,sizeof(tree));memset(f,0,sizeof(f));scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(xx=1;xx<=n;xx++){f[xx]=query(1,n,1)+1;insert(1,n,1);}for(int i=1;i<n;i++)f[n]=max(f[n],f[i]);printf("%d\n",f[n]);}
}

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532290.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市大脑与未来超级智能建设规范研究报告即将发布

来源&#xff1a;今日头条21世纪以来&#xff0c;特别是在2010年以来&#xff0c;前沿科技领域出现诸多“大脑”概念&#xff0c;企业界出现谷歌大脑&#xff0c;百度大脑&#xff0c;阿里大脑&#xff0c;360安全大脑&#xff0c;腾讯超级大脑等&#xff0c;产业界出现城市大脑…

练习图200例图纸讲解_【宅家数学课23】经典微课6:苏教版六年级下册比例尺典型例题选讲及练习(含答案)...

(截止日期&#xff1a;3月31日)学习过程1、点击观看经典微课&#xff1a;微课视频《比例尺》2、认真学习典型例题&#xff0c;完成下方练习题3、查看答案&#xff0c;在家长指导下批改&#xff0c;订正错误。苏教版小学数学六年级下册比例尺典型例题选讲及练习【考点分析】【例…

ajax datatype_Ajax的基本使用

Asynchronous javascript and xmlAjax的实现 : 基于一个对象XMLHttpRequest (如何获取?)步骤: 1. 获取ajax对象function getRequestObject() {if (window.XMLHttpRequest) {// 支持Opera, Safari, Mozilla, Chrome,Internet Explorer 7, and IE 8.return(new XMLHttpRequest()…

MATLAB画图详细教程

本文将详细介绍如何用matlab绘图并美化。 关于figure() 创建图窗窗口&#xff1a;figure() figure()的属性&#xff1a; Name&#xff1a;在标题栏显示的名称&#xff0c;接字符串&#xff0c;如Test Position&#xff1a;在电脑屏幕上的位置和大小&#xff0c;后接向量[l…

android 发送广播_从0系统学Android--5.2 发送广播

从0系统学Android--52 发送广播本系列文章目录&#xff1a;更多精品文章分类本系列持续更新中…. 初级阶段内容参考《第一行代码》5.3 发送自定义广播前面已经学习了如何接受广播了&#xff0c;下面来学习如何发送自定义广播&#xff0c;广播类型分为&#xff1a;标准广播和有序…

31页官方PPT,回顾史上最大芯片WSE:科技的壮丽美感!

来源&#xff1a;芯潮2019年8月20日&#xff0c;在Hot Chips顶会上&#xff0c;发布了一款震惊世界的芯片&#xff1a;全球有史以来最大的计算机芯片wafer-scale engine &#xff08;WSE&#xff09;问世&#xff01;这款巨型芯片来自美国创企Cerebras&#xff0c;每边约22厘米…

Node.js npm 详解

一、npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分&#xff0c;不过只介绍了linux平台&#xff0c;如果是其它平台&#xff0c;有前辈写了更加详细的介绍。 npm的全称&#xff1a;Node Package Manager. ####&#xff08;1&#xff09;通俗的理解 其实从字面意…

html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注

对图片添加标注和文字是科研图片处理中一个非常基础的操作,Image J也可以进行这方面的处理。 01利用描边和填充添加 在绘制好选区(几乎只会用到箭头工具)之后选择:Edit-Draw(描边,快捷键Ctrl+D),使用事先设定好的颜色和粗细进行绘制;也可以填充设定好的颜色Edit-Fill(填充…

怎么更改sql的实例版本_学会复杂一点的SQL语句:Oracle DDL和DML

create&#xff1a;创建表创建用户创建视图创建表create table student(id int,score int) ;student后面与括号之间可以有空格可以没有创建用户create user liuyifei identified by 4852396;drop&#xff1a;删除整个表、删除指定的用户、删除指定的存储空间drop table table_n…

再谈智能

来源&#xff1a;人机与认知实验室1. 智能的产生1.1 智能生成机理有关智能生成的机理&#xff0c;一直是许多领域关注的焦点问题&#xff0c;涉及面之广、深很是少见&#xff0c;初步梳理可能会与这样几个最基本的问题有关&#xff1a;认知生成的机理、知识生成的机理、意…

的图片怎么循环渲染_十分钟教你做个炫酷的图片切换过度效果

做个炫酷的图片切换过度效果首先&#xff0c;今天是520节日。到了520这类为情侣准备的节日&#xff0c;小编都会感到一万点暴击……首先酸一波&#xff0c;搞点事情(蹭波热度)。给大家分享一个520特效页面&#xff1a;看完记得回来为小编点个赞哦&#xff01;这是案例请扫前言老…

《自然》:修复AI神经网络的缺陷

来源&#xff1a;王宏琳科学网博客我在上一篇《海外观察》博客中&#xff0c;介绍了纽约大学马库斯教授和戴维斯教授的新书《重启 AI&#xff1a;构建我们可以信任的人工智能》和图灵奖得主朱迪亚•珀尔的著作《为什么&#xff1a;关于因果关系的新科学》。这两本书都分析了以深…

三. 自动化测试用例设计

1. 主要内容&#xff1a; 2. 手工测试用例与自动化测试用例区别 目前自动化测试更多的时候是定位在冒烟测试和回归测试&#xff1b; 冒烟测试执行的是主体功能点的用例。回归测试执行全部或部分的测试用例。3. 测试类型 4. 异常 5. WebDriver错误截图 get_screenshot_as_f…

c++卸载工具_win7系统如何卸载office2007兼容包

win7系统如何卸载office2007兼容包?office2007是一款热门的办公软件&#xff0c;但有的朋友不习惯使用office2007&#xff0c;但是一些说电脑安装office2007软件后&#xff0c;想要更换其他版本的话&#xff0c;此前需要将office2007卸载掉&#xff0c;不知怎么卸载office2007…

人工智能伦理如何设定,从种群层面看人类的知识积累和进化

前言&#xff1a;9月份中宣部出版局《中国图书评论》对《崛起的超级智能》进行了推荐和评论&#xff0c;对其中阐述的种群知识库扩展观点给予了重点关注。应该说种群知识库扩展是互联网大脑架构不断发展的抽象推论&#xff0c;这个推论对于人工智能及其伦理的建立也应有相应的价…

python可以这样学读后感_Python基础教程的读后感10篇

《Python基础教程》是一本由Magnus Lie Hetland著作&#xff0c;人民邮电出版社出版的平装图书&#xff0c;本书定价&#xff1a;69.00元&#xff0c;页数&#xff1a;471&#xff0c;文章吧小编精心整理的一些读者的读后感&#xff0c;希望对大家能有帮助。 《Python基础教程》…

光通信的再思考:5G流量爆发下的数据密度革命

来源&#xff1a;未来智库1.投资要件区别于市场的观点&#xff1a;&#xff08;1&#xff09;市场对 5G 时代流量爆发的认知不足。市场认为当前大带宽高流量新应用的爆发趋势尚不明显&#xff0c;当前流量增长需求不清。我们认为&#xff0c;5G 时代的流量的爆发将会是数十倍的…

玩家可以输入辅助指令_最后生还者 第二部辅助功能详解 盲人玩家也能玩

顽皮狗首席系统设计师Matthew Gallant&#xff0c;今天在Playstation Blog公开了《最后生还者 第二部》中辅助功能的详情。他们表示从设计之初&#xff0c;他们就希望有更多的粉丝能够体验到这款作品。在《神秘海域4&#xff1a;盗徒末路》的基础上&#xff0c;《TLOU2》提供了…

为什么深度学习如此容易被愚弄?AI研究员正在努力修复神经网络缺陷

来源&#xff1a;nature假设一辆自动驾驶汽车看到停车标志时并没有减速&#xff0c;而是加速驶入了繁忙的十字路口&#xff0c;从而导致了交通事故。事故报告显示&#xff0c;停车标志的表面粘了四个小的矩形标志。这说明一些微小扰动就能愚弄车载人工智能&#xff08;AI&#…

.net core image怎么保存_C# 将PDF转为多种Image图像文件格式(Png/Bmp/Emf/Tiff)

PDF是一种在我们日常工作学习中最常用到的文档格式之一&#xff0c;但常常也会因为文档的不易编辑的特点&#xff0c;在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼。通常对于开发者而言&#xff0c;可选择通过使用组件的方式来实现PDF文档的编辑或者格式转换&am…