LIS 略解

news/2025/10/23 18:49:44/文章来源:https://www.cnblogs.com/Kxprivaterecord/p/19161404

这是一个非常经典的问题。

有两种解法,一种是 \(\mathcal O(n ^ 2)\) 的动态规划做法,一种是 \(\mathcal O(n \log n)\) 的贪心做法。

  • 动态规划做法

\(dp_i\) 为以第 \(i\) 个数字结尾的最长单调增加序列。

然后枚举每个 \(j\) 使得 \(j < i\)。如果发现 \(a_j < a_i\) 就可以转移,\(dp_i = dp_j + 1\)

如果求单调不减序列,把 \(<\) 换成 \(\leq\) 即可。

复杂度 \(\mathcal O(n ^ 2)\)

代码自己写罢(

  • 贪心做法

重心还是放在这个做法上。

想象有很多不同长度的单调增加序列,我们现在有一个新元素,那么就是要把它接在之前的单调增加序列上。

我们设 \(f_i\) 为长度为 \(i\) 的单调增加序列最后一个数字的最小值。

这样的话,由于我们已经取了最小值,\(f_i\) 代表的肯定是长度 \(i\) 最容易接上的一个子序列了。

这个时候证明一下 \(f_i\) 有单调不减的性质。

反证法,就是如果有一个长度比当前单调增加序列长,而且最小值还要更小的单调增加序列,那肯定是取不到当前的单调增加序列的,就会取这个单调增加序列的子序列了。


好的!最重要的说完啦!

接下来是具体实现。

贪心的想法是,我们要把目前这个元素接在它能接的最长单调增加序列上。

所以直接二分,找长度最长的,还允许新元素接上的 \(f_i\) 即可。

#include <bits/stdc++.h>
using namespace std;
constexpr int N = 1e5 + 5;
int len, n, ans, a[N], f[N];
int main() {cin >> n;for(int i = 1; i <= n; ++i) cin >> a[i];for(int i = 1; i <= n; ++i) {len = lower_bound(f + 1, f + ans + 1, a[i]) - f;f[len] = a[i];ans = max(ans, len);}cout << ans;return 0;
}

如果想要求最长的单调不增序列,换成 upper_bound 就行。你可以想象一下,换成 upper_bound 之后,当有多个 \(f_i\) 相同时,他就会选择 \(i\) 最大的 \(f_i\),即长度最长的。

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

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

相关文章

低代码如何引爆全员创新?揭秘技术民主化背后的蒲公英效应

创新,对于许多企业而言,曾是一种奢侈的、被集中管理的资源。它通常被禁锢在特定的研发部门或创新实验室里,依赖于少数“天才”的灵光一现。然而,在当今瞬息万变的市场环境中,这种“中心化”的创新模式已显得力不从…

低代码如何重塑IT部门价值?

在传统的企业财务报表上,IT部门常常被归类为“成本中心”。这个标签背后,是无数个日夜的加班运维、应对不完的业务需求、以及难以量化的价值输出。IT团队深陷于开发“救火”和系统“补漏”的循环中,虽有苦劳,却难论…

2025工业冰水机/冷水机厂家推荐东莞市凯诺机械,高效制冷稳定运行

2025工业冰水机/冷水机厂家推荐:高效制冷稳定运行新标杆 当前工业温控设备领域的技术挑战与突破 工业冰水机、工业冷水机作为现代制造业不可或缺的温控设备,正面临着前所未有的技术挑战。根据行业数据显示,传统工业…

2025小型低温/工业/风冷/一体式螺杆冷冻机厂家推荐:东莞凯诺机械专业制冷解决方案

2025小型低温/工业/风冷/一体式螺杆冷冻机厂家推荐:东莞凯诺机械专业制冷解决方案 在工业制冷领域,小型低温冷冻机、工业风冷机组和一体式螺杆冷冻机正面临着前所未有的技术挑战。随着2025年制造业升级的加速推进,这…

2025水冷螺杆/风冷螺杆冷水机厂家推荐东莞市凯诺机械,高效制冷稳定可靠

2025水冷螺杆/风冷螺杆冷水机厂家推荐东莞市凯诺机械,高效制冷稳定可靠 在工业制冷领域,水冷螺杆和风冷螺杆冷水机作为关键温控设备,其性能表现直接关系到生产效率和能源消耗。随着2025年能效标准的逐步实施,行业面…

(例题)HTTPS 电商商品页抓包与关键数据提取

HTTPS 电商商品页抓包与关键数据提取 实践目标 1.成功抓取京东商品详情页的 HTTPS 请求 2.从响应体中提取商品名称、库存关键数据 前置条件 1.Fiddler 已完成 HTTPS 证书配置(根证书安装并信任) 2.电脑浏览器代理已指…

qoj.4878 Easy Problem 做题记录

高手。link 惯性思维很容易想到 Hall 定理 + 线段树 去处理,我一直想了 2h+,事实上有另外一种思路。 由于保留的所有区间都覆盖了位置 \(i\),我们考虑贪心做最大匹配:从左到右扫描每个位置,优先用 \(r\) 小的区间…

LLM学习笔记DAY10

📘 大语言模型全面学习笔记 一、大语言模型评测体系 1.1 常见评测指标任务类型 评测指标 说明分类任务 精确率、召回率、F1 基于混淆矩阵计算语言建模 困惑度(PPL) 衡量文本建模概率文本生成 BLEU、ROUGE 衡量与参…

日志级别

日志级别日志级别(Log Levels) 🔊 五种日志级别(从低到高):级别 含义说明 使用场景TRACE 追踪,最详细 用于追踪程序执行的每一步,如方法入参、变量变化。DEBUG 调试,用于诊断问题 记录流程细节,如“用户登录…

noipd8t2 - Slayer

要理解这段代码,需结合题目要求和题解的逆变换 + 辗转相除思路,逐部分分析:题目核心与题解思路 回顾题目要求:给定两个线性变换 \(T1((x,y))=(x+y,y)\)、\(T2((x,y))=(x,x+y)\),对于每个查询向量 \((x,y)\),统计…

OJ模拟面试3(异步判题架构)

1、请详细描述一条判题消息从生产到消费的完整生命周期。你在生产者端、Broker端和消费者端分别做了哪些具体配置和编码保证? 这是一个考察消息队列端到端可靠性的经典问题。我的设计目标是:消息绝不能丢。生产者端 …

Edge浏览器网页设置深色模式(仅搜索结果界面)

偶然清除了Edge的浏览数据后发现搜索结果界面变成了白色,很不适应,于是在网络搜索,基本都非常相似,主要分为两种方法Edge浏览器网页设置深色模式/暗模式的小技巧_网页深色模式-CSDN博客①在Edge浏览器打开edge://f…

2025 年 AI 编程工具 TOP5 排名:谁在重新定义研发效率?

当 “写代码” 从 “手动敲” 变成 “AI 帮你想”,研发效率的天花板被彻底打破。2025 年最新出炉的 AI 编程工具排名,不仅是技术实力的较量,更是企业降本增效的 “选型指南”—— 这 5 款工具,已经帮数万家企业实现…

请求中断的原理与分类

本文分享自天翼云开发者社区《请求中断的原理与分类》.作者:尹****聪 1 中断的原理 在nginx中所有的http请求是流式的处理逻辑,当client发出一个请求后,nginx把请求代理到upstream上。如果upstream已经返回了200 OK…

LLM学习笔记DAY9

大语言模型学习笔记 一、大语言模型的局限性 1.1 规划能力不足示例:汉诺塔问题中步骤错误,缺乏校验与修正机制。 需引入规划策略与反思检查策略。1.2 知识时效性与计算能力不足示例:GPT-4回答“美国总统”错误,数值…

【Go】go学习笔记

# 一、Go基础 ## 1. 编译运行 ``` go // 构建二进制文件 go build hello.go ./hello.gogo run hello.go ```## 2. 数据类型 - 布尔型 - 数字类型 - 字符串 - 派生类型- 指针 pointer- 数组- 结构化类型 struct- channe…

破局内容运营效率:2025 微信编辑器 10 款深度测评

破局内容运营效率:2025 微信编辑器 10 款深度测评2025微信编辑器AI革命:全链路解决方案重塑内容生产 一、引言:运营者的效率焦虑与工具迭代机遇 2025年新媒体行业进入“精耕细作”阶段,一篇爆款推文不仅需要优质内…

Web3 行业 Solidity 高级后端开发工程师岗位要求

基本学历与经验要求学历:本科及以上,计算机科学、软件工程、密码学或相关专业优先。 工作经验:3-5 年后端开发经验,其中至少 2 年 Solidity 智能合约开发经验(强制),参与过实际 Web3 项目(如 DeFi、NFT、DAO、…

2025氮化硼陶瓷高温绝缘体/坩埚/套管/基板/高温构件/耐腐蚀构件推荐榜:福维科(山东)引领国产化,3 家企业凭技术实力登榜

在半导体、新能源等高精制造领域,对关键材料的性能要求持续升级,氮化硼陶瓷因兼具优异导热性、绝缘性与耐温性,成为支撑产业升级的核心材料之一。2025 年,随着高端制造国产化进程加快,具备核心技术与稳定产能的氮…

无需接入执行器,0 代码改造实现微服务任务调度

本篇文章通过分析现有解决方案的不足,提出一种新的轻量级解决方案,该方案无需业务改造,且支持多语言,能够有效解决分布式环境下的任务调度幂等执行以及批处理问题。作者:陈欣渝(恰橙) 概述 在现代分布式系统中,…