Poj 1631 Bridging signals(二分+DP 解 LIS)

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户 1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的... 阅读详情

题意:题目很难懂,题意很简单,求最长递增子序列LIS。

分析:本题的最大数据40000,多个case。用基础的O(N^2)动态规划求解是超时,采用O(n*log2n)的二分查找加速的改进型DP后AC了。

在基础的动态规划解法中,由于动态规划的无后效性(对于每个阶段来说,它以前的各阶段状态无法直接影响它未来的决策,只能间接地通过当前状态来影响),当我们考察第i+1个元素的时候,我们是不考虑前面i个元素的分布情况的。当我们考虑前面的情况时会发现,对于前面i个元素的任意一个递增子序列,如果这个子序列的最大元素比Array[i+1]小,那么就可以将Array[i+1]加在这个子序列后面,构成一个新的递增子序列。因此我们希望找到前i个元素的一个递增子序列。使得这个递增子序列的最大元素尽可能地小,且长度尽可能地长。这个确定的过程就可以用二分查找加速。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	static int BinSearch(int a[], int length, int s) {
		int left = 0, right = length - 1, mid = 0;
		while (left <= right) {
			mid = (left + right) / 2;
			if (a[mid] <= s) {
				left = mid + 1;
			} else {
				right = mid - 1;
			}
		}
		return left;
	}

	static int[] MaxV = new int[40001];

	static int getLIS(int[] arr, int size) {
		MaxV[0] = arr[0];
		int len = 1;
		for (int i = 1; i < size; ++i) {
			if (arr[i] > MaxV[len - 1]) {
				MaxV[len++] = arr[i];
			} else {
				int pos = BinSearch(MaxV, len, arr[i]);
				MaxV[pos] = arr[i];
			}
		}
		return len;
	}

	public static void main(String[] args) throws NumberFormatException,
			IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int cases = Integer.parseInt(br.readLine());
		int n;
		int a[] = new int[40001];
		while (cases-- != 0) {
			n = Integer.parseInt(br.readLine());
			for (int i = 0; i < n; i++) {
				a[i] = Integer.parseInt(br.readLine());
			}
			System.out.println(getLIS(a, n));
		}
	}
}


YOLO26涨点改进 | YOLO联合Mamba火热发论文改进篇 | CVPR 2025 | 引入EfficientViM 新型轻量级视觉Mamba,高效捕捉全局依赖,含二次创新、适合目标检测任务 本文提出EfficientViM,一种基于HSM-SSD的新型轻量级视觉Mamba架构,用于改进YOLO26目标检测模型。该模块通过压缩隐藏状态、多阶段特征融合和内存优化设计,在降低计算复杂度的同时提升检测精度。实验表明,EfficientViM在ImageNet-1K上实现了最佳的速度-精度平衡,相比SHViT模型性能提升0.7%且速度更快。文章详细介绍了模块原理、网络结构、核心代码实现及YOLO26集成方法,提供两种改进方案,适用于资源受限环境下的实时目标检测任务。 阅读详情

相关推荐

C#菜鸟教程学习笔记

C#菜鸟教程学习笔记 C#简介 C# 是一种编程语言,它是由微软开发的。 C# 编程是基于 C 和 C++ 编程语言的,它与 Java 也非常相似。 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。 .Net 框架(.Net Framework)能编写出下面类型的应用程序: ①Windows 应用程序 ②Web 应用程序 ③Web 服务 常用的C# 编程的开发工具:Visual Studio(VS:可视化工作室) C#程序结构 一个 C# 程序(C# 文件的后缀为 .cs)主要包括以下部分

mlc_WTMOTW的博客 4977

Bridging signals(DP)

Description ‘Oh no, they’ve done it again’, cries the chief designer at the Waferland chip factory. Once more the routing designers have screwed up completely, making the signals on the chip connectin

Techay的博客 526

中兴FTTR光猫变简易OLT:低成本搭建全光监控与局域网实战指南

本文详细介绍了如何将中兴FTTR光猫改造为简易OLT设备,实现低成本全光监控与局域网扩展。通过LOID认证、桥接模式设置及终端数破解,用户可利用二手设备搭建高性能光纤网络,适用于远程监控和长距离组网场景,显著降低部署成本。

chair的专栏 2026

POJ 1631 Bridging signals(LIS+二分)

题目链接: 【题意】

RaynX的专栏 565

大话西游2经典单机版V8:一键架设+GM全功能+仙玉自由修改

本文详细介绍大话西游2经典单机版V8的一键架设教程和GM全功能使用指南,包括仙玉自由修改技巧。该版本无需虚拟机,解压即玩,完美还原官服经典玩法,支持离线运行,是老玩家重温经典和新玩家体验游戏的理想选择。

weixin_27303545的博客 1131

LaTeX新手入门以及TeXlive和TeXstudio的安装使用

作为一个新手,LaTeX的了解和使用很是费了一番功夫,因此,在这里给找不到路的同志们稍微介绍一下。如有错误,敬请指正。本篇内容基于Win10系统,因此安装在Mac或者Linux上的同学可以再找找其他的介绍文章。 目录 LaTeX介绍 LaTeX环境配置 一、TeXlive下载 二、TeXlive安装 1. 安装main installer 2. 正式安装 三、TeXstudio安装...

zywhehe的博客 21万+

POJ 1631 Bridging signals 最长上升子序列小结 LIS的O(nlogn)算法

POJ 1631 Bridging signals 题目分析: 题目要求避免相交,则可转化为对给定的序列求最长上升子序列。 首先使用了dp来求解,复杂度为O(n*n),在题目的数据范围下超时了… #include<iostream> #include<stdio.h> #include<algorithm> using namespace std; int dp...

RPG_Zero的博客 305

【SOFA】SOFA框架+Win10+VS2019 配置

SOFA (Simulation Open Framework Architecture)官网 SOFA 是一个开源的仿真框架,用于实时的物理仿真,而且主要针对医学上的仿真。主要用于研究人员开发新的算法,也可以作为一个有效的快速成型工具或是物理引擎。 官网中给出的配置方法写的很清晰,有着各个库或者软件的版本要求,仔细看按版本要求来 官网配置地址 官网给了两种方 1.通过脚本自动配置 2. 自己下载相关库通过CMake进行生成 第一种 没使用,不知道是否好使,因为如果其中有下载的东西,国内不一定能成功,大家可

GordonWei 5260

poj 1631 Bridging signals LIS 最长非递减子序列

poj 1631 Bridging signals LIS 最长非递减子序列

阑珊记忆 474

图像传感器与信号处理——SFR算法/ISO 12233解读

图像传感器与信号处理——SFR算法图像传感器与信号处理——SFR算法1. 前言2. 基于视觉的分辨率测量方法3. 基于边界的SFR算法4. 基于正弦波的SFR算法 图像传感器与信号处理——SFR算法 SFR的全称是Spatial Frequency Response,空间频率响应。介绍SFR算法的参考文献主要是ISO 12233这篇英文文档。和读一般的论文感觉不同,文档读起来更加晦涩难懂,可能是因...

weixin_44580210的博客 1万+

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。

Giver的博客 1928

POJ 1631 - Bridging signals ( LIS )

题意 有p条线路,它们有可能相交。现在让你去掉一些线路,使得剩下的线不相交且线最多 ( p < 40000 ) 思路 为使得连线不相交, 必须选择一个上升的连接序列, 而求剩下的线不相交且最多就是求LIS ( 最长上升子序列 ) 由于p最大达40000, 1000 ms 肯定不能用复杂度为O(n*n)的朴素动态规划,会超时...

a7152326的博客 161

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6860

最长上升子序列(LIS)POJ 1631 Bridging Signals

POJ 1631题目大意如下: 给定N个测试,每个测试的数据:第一行输入P,表示有P个连接,接下来的P个数据是按照下标从1到P排列的,每个下标i对应一个连接数a[i],表示i和a[i]是连接的,生动点就如下图所示,问题要求给出一个数字,表示的是在这P个连接数里,没有互相交叉的最大组合数。 从上图看的话,其实只是有助于理解题目意思,但是要解决问题的话,这个图还是会带来干扰。肯定不

kornberg_fresnel的博客 572

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

poj 1631 Bridging signals (LIS 最长递增子序列 DP-二分)

题目:http://poj.org/problem?id=1631 思路:LIS 最长递增子序列,如果用一般的动态规划算法,复杂度是O(n^2),题目的数据规模下会超时,采用二分的思想:复杂度是O(nlogn) 代码: 首先是一般的DP:  #include #include #include using namespace std; const int MAX=40001; int dp

R_xiaozhu_Q的专栏 1539

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

POJ - 1631 Bridging signals(LIS)

题目链接 题目很长,但要问的问题很简单,就是经典的求最长上升子序列问题,但是使用递推关系 dp[i]=max{1,dp[j]+1 | j<i && aj<ai } 时间复杂度O(n^2),题目中p < 40000,显然TLE。 P65~66 《挑战程序设计》 初始化dp[i]为inf,从头往后插入a[i],比较大小dp[i]=min(dp[i],a[i])后更新,...

没有期待的日子反而会顺顺利利 171

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

poj-1631Bridging signals(LIS)

Bridging signals Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12202   Accepted: 6654 Description 'Oh no, they've done it again', cries the chief designe

Eric_keke的专栏 427

poj - 1631 - Bridging signals(LIS)

题意:两列数,每列p(p 题目链接:http://poj.org/problem?id=1631 ——>>求出输入序列的LIS,左边已是升序,所以LIS对应的左边序号也是升序,一一匹配后不会交叉,LIS的长度就是答案。因为p达40000个,O(n^2)的算法不能满足需要,应使用O(nlongn)以下的算法。。 #include #include #include using std

无节操 1044

POJ1631 Bridging signals

解答:#include using namespace std;int psearch(const int f[],int size,const int a) {     int l = 0,r = size-1;     while(l<=r)     {         int mid = (l+r)/2;         if (a>=f[mid-1]&&a<f[mid]) return m

Rainto的专栏 557

POJ 1631 - Bridging signals(DP)

题目链接 https://cn.vjudge.net/problem/POJ-1631 【题意】 求最长上升子序列LIS 【输入格式】 输入整数T,共有T组输入数据,每组输入n(n &lt;= 40000)代表序列长度,随后n个整数代表序列的内容。 【输出格式】 输出最长上升子序列的长度。 【思路】 LIS问题,注意利用二分O(nlogn)的算法求解。 ...

Change the world by program. 309

POJ 1631 Bridging signals

LIS两种经典实现方法

wust_ZJX的专栏 985

POJ-1631-Bridging signals-( 水LIS-O(nlogn) -DP)

题目大意:求最长上升子序列(LIS)长度,序列最大数不超过40000。因为只有上升排列的接口才不相交。 思路:普通的 O(n^2)的做法肯定会超时;因此,dp[ ] 记录长度为 i+1 的子序列中最末元素的最小值,这一数组是单调递增的,因此对于dp[ ]数组内元素可以用二分搜索找出dp[ ]中比 a[ i ] 大的最小的元素的位置;这里用到了STL类里的 lower_bound(x, x+n,

Candy糖醬的专栏 1189

POJ - 1631 Bridging signals DP(LIS)

传送门:POJ 1631 题意:这个题题意不好懂,不过看图就能明白了,就是让你去掉最少的线段,使得所有的线段都不想交。 思路:将线段用点对表示,左端点为一个递增的序列1,2,3....n,右端点是一个1-n的排列,不难发现在这样情况下若要不相交,则左端点比前面大的线段的右端点一定也比前面的线段大,即在右端点的排列中找一个最长的递增子序列,转化为LIS求解。 其实对着样例看也能看出是最长上升子

WA是一笔财富 286

POJ 1631 Bridging signals(LIS:最长上升子序列)

POJ 1631 Bridging signals(LIS:最长上升子序列) http://poj.org/problem?id=1631 题意: (题意比较繁琐)本质就是: 给你一个长为n(n<=40000)的整数序列, 要你求出该序列的最长上升子序列LIS. 分析: 如果用O(n^2)的算法的话, 可能会超时. 所以用O(n*logn)的算法. 令g[i]==x表示当前遍历到的长度为i的所有最长上升子序列中的最小序列末尾值为x.(如果到目前为止, 根本不存在长i的上升序列, 那么x==INF无穷大)

code 1344

DP:Bridging Signals(POJ 1631)

                           不能交叉的引脚   (这一题的难度在于读题)题目大意:有一堆引脚(signals),左边一排,右边一排,左边从上到下,对应着连接右边的引脚(所有的引脚都被接上),现在引脚之间的连线有交叉,我们要桥接这些交叉,而桥接是费事的,现在要你求不交叉引脚的最大数目   明白题在说什么以后,是不是感觉豁然开朗?   没错,这一题我们只用把...

bandilan2400的博客 98
上一篇: 字符串相似度的几种衡量标准
下一篇: 解决ListView 缓存机制带来的显示不正常问题
TaiSung
博客等级 码龄15年 49粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值