#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std ;
int res[40005] ; //保存非线性递增队列的结果
int n, resLen ;
void Insert (int low, int high, int val)
{
int mid ;
while (low <= high)
{
mid = (low+high) / 2 ;
if (res[mid] <= val)
low = mid + 1 ;
else
high = mid - 1;
}
res[low] = val ;
}
int main ()
{
int i, tcase, val;
scanf ("%d", &tcase) ;
while (tcase --)
{
resLen = -1 ;
scanf ("%d", &n) ;
for (i = 0; i < n; i ++)
{
scanf ("%d", &val) ;
if (resLen == -1) //如果数组元素为空,将当前值入数组
{
resLen ++ ;
res[resLen] = val ;
continue ;
}
else
{
if (val > res[resLen]) //如果当前值大于数组的栈顶元素,
{ //直接入数组,长度加1
resLen ++ ;
res[resLen] = val ;
continue ;
}
else if (val == res[resLen]) //如果出现相等
continue ;
else //否则替换掉当前数组中比当前值大的元素
Insert (0, resLen, val) ; //二分
}
}
cout << resLen+1 << endl ;
}
return 0 ;
}
相关推荐
37张图详解MAC地址、以太网、二层转发、VLAN
MAC 地址 每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。 MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。 现在可以通过软件修改 MAC 地址,虚拟机使用物理机网卡的 MAC 地址,并不能保.
POJ 1631 Bridging signals
Bridging signalsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 6001 Accepted: 3285DescriptionOh no, theyve done it again, cries the chief designer a
RK3588开发板实战:从零开始移植Ubuntu 24.04(讯为SDK版)
本文详细介绍了如何在RK3588开发板上从零开始移植Ubuntu 24.04系统(讯为SDK版),涵盖开发环境准备、SDK解析、根文件系统定制、驱动适配、系统集成与烧录等全流程。通过实战案例,帮助开发者快速掌握RK3588开发板的系统移植技巧,适用于嵌入式开发与定制化Linux系统构建。
pku 1631 Bridging signals
好久没更新blog了,今天抽点时间,写一个水题的blog。题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1631题目大意就是求:从一边的一个地点架桥到另一边的一个地点,当然桥之间是不能相交的。简化题意就是:求一个序列的最长递增序列的长度。开始毫不犹豫就写了个时间复杂的为O(n^2)的代码,但是(p 下面讲讲解题过程:O(n^
卡方分布的前世今生:一个统计概念的演化史
本文追溯了卡方分布从19世纪末的理论雏形到现代统计推断核心工具的发展历程。从Karl Pearson的数学奠基到Ronald Fisher的理论完善,卡方分布在医学研究、社会科学和机器学习等领域展现出广泛应用。文章通过代码示例和性质分析,揭示了这一统计概念如何持续推动数据科学创新。
MAX30102传感器实战:从寄存器配置到Arduino心率血氧监测
本文详细介绍了MAX30102传感器在Arduino平台上的实战应用,从寄存器配置到心率血氧监测的全过程。通过清晰的代码示例和实用技巧,帮助开发者快速实现脉搏血氧仪功能,包括I2C通信、FIFO数据处理及算法实现,适用于健康监测和可穿戴设备开发。
pku1631 Bridging signals
http://poj.org/problem?id=1631 DP最长上升子序列 最长上升子序列,因为n很大(n<40000),我开始写的O(n^2)的算法超时了。。。 学了一下O(n*logn)的方法,dp[i]表示当前状态下,所有长度为i的子序列中,末尾元素最小的那个子序列,的末尾元素值。 例如序列:a[6]:(1,3,5,4,6,2) 考虑到前6个元素的时候 长度为3的子...
深度学习之基于Pytorch手指静脉识别系统(
一、项目背景与目标手指静脉识别技术是一种新兴的生物特征识别技术,它依据人类手指中流动的血液可吸收特定波长的光线这一科学原理,利用手指内的静脉分布图像来进行身份识别。与传统的生物识别技术(如指纹识别)相比,手指静脉识别技术具有不易伪造、识别精度高、非接触性等特点,因此在安全性要求较高的场景(如金融、医疗、公安等)具有广阔的应用前景。本项目旨在利用PyTorch深度学习框架,构建一套高效、准确的手指静脉识别系统。
千元档动感单车怎么选?三大热门型号硬核对比与避坑指南
动感单车作为家庭健身的热门器材,骑行体验的核心取决于磁控阻力、飞轮重量、传动方式等基础参数。磁控阻力通过改变磁铁与飞轮间距实现无接触调节,兼具静音与耐用性,是千元档主流方案;飞轮则提供骑行惯性,净重范围通常在6-10kg,需结合使用场景权衡。理解这些原理后,才能判断产品宣传的真实性,避免陷入参数虚标或功能冗余的误区。无论是自主训练还是跟随课程,选购前都需厘清自身对静音、稳定性、智能生态的真实需求。本文以易跑F5 turbo、飞利浦小金鹿、Keep C2 lite三款热门机型为例,深入对比硬件配置、课程生态与
功能安全实战系列09-英飞凌TC3xx LBIST开发详解
英飞凌Tricore/LBIST开发详解
机器学习笔记——30种常见机器学习算法简要汇总
本笔记介绍机器学习中常见的30种机器学习算法。
Pku acm 1631 Bridging signals 动态规划题目解题报告(十三)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1631这个题目可以转化为最长上升子序列,这样这个题目似乎就和2533 Longest Ordered Subsequence 1887 Testing the CATCHER一样了,迅速写下代码,结果超时!看来只能用O(nlogn)的算法了。在O(n^2)的算法中:创建一个一维数组array[j]
手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战
摘要: 本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理,通过滑模观测器估算反电动势,结合PLL抑制抖振;2)系统架构,替代编码器信号;3)Simulink建模流程,涵盖Clarke变换、SMO离散化实现、PLL设计等关键步骤;4)参数整定指南和工程实践要点,如启动策略和故障处理。该方法具有成本低、可靠性高的优势,适用于家电、电动车等场景,仿真结果显示角度误差±5°,速度动态跟随良好。文章还提供了调试建议和常见问题解决方案。
pku 1631 Bridging signals nLogn效率的最长上升子序列
题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1631#include #include #define maxn 40001 int num[maxn]; //B[i]表示序列长度为i的所有序列的末尾元素的最小值 int B[maxn]; //opt[i]表示以第i个元素结尾的序列中的最长上升子序列的长度 int opt[40001]; int main(){ freopen("data.txt","r",stdin);
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
PKU1631Bridging signals(最长不降子序列)
/*Bridging signalsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 4649 Accepted: 2563DescriptionOh no, theyve done it again, cries the chief designer at the Wafe
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
pku1631-----Bridging signals(动态规划题+二分搜索)
420K 125MS GCC 596B 2009-01-11 00:56:04 技巧:设置一个数组a[i] 存放所有长度为i的上升子序列中最小的末元素值,比如说只有两个长度为3的上升子序列123和124,那么a[...
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
杭电DP题目(dynamic programming)
<br />这里集中了很多的动态规划题目,我也从这里开始突破啦<br />----------------------------------------------------------------------------------------------<br /> <br /> 记我今天开始,正式向ACM营地出发,努力搞好自己的优快云博客<br /> <br /> turn potential to reality !<br />
HDU 1312 Red and Black
看了好多天的DFS,基本上的程序都是要借助解题报告才可以实现 但是这一题,确实依照自己的思路,完全靠自己写出来的,或许比较简单吧,所以特此发表下文章,犒劳一下自己,再接再厉 http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red
杭电1051 经典贪心
这题真是抓狂,我已经提交了8次,还是没过,我都找不到任何错误数据了粘贴下别人的代码提交下,就是果断过。。。求大牛指点……/* title:Wooden Sticks url: http://acm.hdu.edu.cn/showproblem.php?pid=1051 我的做题思想: 主要是通过下表法,首先对数组的length按从小到大排序 然后,通过第一元素开始,进行比较,如果后面的任一 一组数据与当前数据进行比较,length和weight都比目前 length 和 weight 都小
Uva 10104 Euclid Problem |x|+|y|最小解 扩展欧几里得
/* * url: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1045 * stratege: 求ax+by=gcd(a,b), |x|+|y|的和的x,y,的解, 扩展欧几里得,分四种情况考虑 * status:10541367 1010
hdu 1930 And Now, a Remainder from Our Sponsor 扩展欧几里得 解一元线性同余方程组
/** * url : http://acm.hdu.edu.cn/showproblem.php?pid=1930 * stratege : 解一元线性同余方程组, 扩展欧几里得 * Author: johnsondu * Status: johnsondu 0MS 284K 2207B C++ 2012-08-19 13:13:15 * Trick: There will be n
LightOj 1111 - Best Picnic Ever
/** * Author: johnsondu * time: 2013-4-11 * problem: LightOj 1111 - Best Picnic Ever * url: http://lightoj.com/volume_showproblem.php?problem=1111 * stratege: DFS, count the person who can r
POJ 3641 HDU 1905 Pseudoprime numbers 素数 模取幂
/* --------------------------------------------------- status : a312745658 3641 Accepted 328K 16MS C++ 1732B 2012-05-18 21:36:37 stratege : 快速模取幂,素数筛选, 判断一个大数是否为素数 URL: http:
HDU 1211 RSA 逆元 快速模取幂
/** * url: http://acm.hdu.edu.cn/showproblem.php?pid=1211 RSA * Author: Johnsondu * Time: 2012-7-28 18:00 around * Stratege: 逆元(扩展欧几里德) , 快速模取幂 * Status: 6364213 2012-07-28 18:12:54 Accepte
HDU 1010 Tempter of the Bone
关于DFS如何学好,先援引大牛的几点建议: (1)先理解搜索的原理,区别好bfs和dfs的优先搜索方向以及应用,例如bfs一般用来求最优解如最短路径. (2)掌握好所用的数据结构,特别是队列. (3)牢记dfs和bfs的常用模式,它是基本固定的,考试时信手拈来! (4)注
uva 10830 A New Function
/* * Author: johnsondu * time: 2013-4-25 * problem: uva 10830 - A New Function * url: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1771 * so
4745



被折叠的 条评论
为什么被折叠?



