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

LIS 略解

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

有两种解法,一种是 \(\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.hskmm.com/?act=detail&tid=37550

相关文章:

  • 低代码如何引爆全员创新?揭秘技术民主化背后的蒲公英效应
  • LLM学习笔记DAY10
  • 2025工业冰水机/冷水机厂家推荐东莞市凯诺机械,高效制冷稳定运行
  • 2025小型低温/工业/风冷/一体式螺杆冷冻机厂家推荐:东莞凯诺机械专业制冷解决方案
  • 2025水冷螺杆/风冷螺杆冷水机厂家推荐东莞市凯诺机械,高效制冷稳定可靠
  • LLM学习笔记DAY9
  • OJ模拟面试3(异步判题架构)
  • Edge浏览器网页设置深色模式(仅搜索结果界面)
  • 2025 年 AI 编程工具 TOP5 排名:谁在重新定义研发效率?
  • noipd8t2 - Slayer
  • 【Go】go学习笔记
  • todolist
  • 利用排列组合法实现TOPN路径计算
  • 达梦数据库获取判断字段中的json数据中的值
  • 2025 废气处理/废气治理/环保/污水/分子筛/除臭设备推荐榜:上海深城以专利技术破局,3 家企业凭场景适配登榜,助力异味治理升级
  • Web3 行业 Solidity 高级后端开发工程师岗位要求
  • API 搜索的下一代形态-Apipost智能搜索:只需用业务语言描述需求,就能精准定位目标接口!
  • 2025包装机/全自动包装机/非标定制生产线厂家推荐昆仑智能装备,专业高效!
  • 2025拖鞋机/酒店拖鞋生产线厂家推荐昆仑智能,高效稳定自动化解决方案
  • 2025年口罩机厂家权威推荐榜单:全自动口罩机器,全自动KN95口罩机,高效智能生产线专业选购指南
  • 2025提升机/自动提升机厂家推荐垚林机械,高效稳定省心之选
  • 二分图
  • 2025不锈钢方形/消防/生活/保温水箱厂家推荐莞南节能,专业耐用品质保障
  • 2025-10-23 DeepSeek R1本地部署(ollama)
  • python 异步调用语法
  • KAPE 0.8.3.0发布:数字取证工具新版本详解
  • 第一!天翼云引领中国教育公有云市场
  • 哇哦杯题解民间版
  • 海上60公里,5G信号满格?这款神器让远航不再“失联”
  • 2025除尘设备/脉冲除尘器厂家推荐东莞市百谊环保科技,专业高效净化解决方案