LIS 的二分做法

news/2025/10/31 16:19:26/文章来源:https://www.cnblogs.com/huangqixuan/p/19180362

stooooooooooooooooooooooooooo xhr ooooooooooooooooooooooooooooorz

一种是线段树,一种是二分,接下来介绍二分做法。

就是维护一个上升序列,每次加一个元素,具体过程看代码,好理解的()

说人话就是维护长度为 \(i\) 的最后一个元素的最小值,但是这个维护方法有点 trick。

LIS 的二分做法是个好东西,有时能够给出一种具体的映射。

int LIS(){int b[MAXN], top = 0, a[MAXN];b[0] = -1;for(int i = 1; i <= n; i++){if(a[i] > b[top]){top++, b[top] = a[i];}else{int l = 1, r = top;while(l < r){             // 二分,O(log n)int u = (l + r) >> 1;if(a[i] > b[u]){l = u + 1;}else{r = u - 1;}}b[l] = a[i];}}return top;
}

三分图(ZR 模拟赛题)

参考:xhr 大神的 20251022 总结的 C 题

xhr 大神的题解(含题意)

image

问题是求字典序在 \(p \sim q\) 之间且最长下降子序列 \(\le 3\) 的排列数量。多测,\(1 \le T,n \le 300\)

差分变为求字典序比一个序列小的合法序列的数量。

考虑枚举公共前缀,再枚举后面一个的值。

考虑维护长度为 \(1,2,3\) 的下降子序列的最大值,但实际上从 LIS 的二分做法来看会更简单:维护下降序列 \(G\)(初始全为 \(+\infty\)),每次在末尾加上 \(x\),找到最小的 \(i(g_i \le x)\),然后 \(g_i \leftarrow x\)

优先优化 check 方法,考虑对一个序列 \(P\) 的 check 方法:

  • 设当前 \(g_1=x,g_2=y,g_3=z\),末尾加入一个数 \(w\)
    • 如果 \(w < z\) 就不合法了。
    • 如果 \(z < w < y\),则 \(z = w\)
    • 如果 \(y < w < x\),则 \(y = w\)
    • 如果 \(x < w\)\(x = w\)

很显然,这是一个只和大小关系有关的限制条件,恰好,对于相关排列的计数,也只能做到存储大小关系。

那么就不要再考虑存具体的值了,我们在乎的是数量。

  • \(f_{i,j,k}\) 表示分别表示 \((+\infty,x),(x,y),(y,z)\) 中的数量,之后全部用完的方案数。
  • \(f_{i,j,k} = \sum\limits_{x=1}^{i}{f_{i-x,j+x-1,k}} + \sum\limits_{x=1}^{j}{f_{i,j-x,k+x-1}} + f_{i,j,k-1}\)
  • 第一个求和式中为什么是 \(j+x-1\)?因为 \(w\) 操作后就不算了。后面的类似。

前缀和优化可做到 \(O(n^3)\)

接下来回到询问,\(O(n^2)\) 次枚举,每次确定了 \((x,y,z)\),那么 \((i,j,k)\) 也确定了。

总时间复杂度 \(O(n^3 + Tn^2)\)

总之:

  • 可见 LIS 的二分做法是个好东西,能够给出一种具体的映射。
  • 而且这题的限制只和大小关系有关,需要有能列出条件的好习惯去发现这个。

CF2143D2 - Inversion Graph Coloring (Hard Version)

(这题的原题意类似上面三分图那题,同样的转化得到如下题意)

给一个序列 \(A\),求有多少个 \(A\) 的子序列,满足最长下降子序列长度 \(\le 2\)。答案对 \(10^9 + 7\) 取模。

多测,\(\sum{n} \le 2000\)

做法几乎和上面一题一样,梳理 check 做法再 dp。

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

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

相关文章

springboot自助甜品网站的设计与实现(代码+数据库+LW) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年码垛桁架机械手生产厂家权威推荐榜单:桁架搬运机械臂/桁架机器人/桁架搬运机械臂源头厂家精选

在工业自动化加速推进的背景下,码垛桁架机械手已成为现代制造业提升效率、降低人力成本的核心装备之一。据行业数据显示,2025年中国桁架机械手市场规模预计突破80亿元,年复合增长率稳定在18%以上。码垛桁架机械手凭…

人类智慧

类人群星闪耀时。以下是我独立发现的,自我感觉比较不可思议的,和网上几乎所有题解都不一样的题目做法。 我觉得退役之前能更出来 10.0 都是我的荣幸。 如果你有兴趣观看并且认为其中任何一篇有更为本质的解释,欢迎交…

2025 年 10 月防静电地板厂家推荐排行榜,全钢/全钢陶瓷/硫酸钙/铝合金/pvc架空/防静电地板,OA网络地板,机房防静电地板,办公室网络架空地板公司推荐

2025年10月防静电地板厂家推荐排行榜:专业选购指南与权威榜单 在现代化办公环境、数据中心和各类专业机房建设中,防静电地板已成为不可或缺的基础设施。随着技术的不断进步,市场上涌现出多种材质的防静电地板,包括…

开源神器MinerU:一键提取PDF内容的工具 - yi

开源神器MinerU:一键提取PDF内容的工具MinerU 开源智能数据提取工具 https://mineru.net/

Python创建类(上)_ 没对象?实例化一个

Python创建类(上)_ 没对象?实例化一个class CuteCat: def __init__(self, cat_name, cat_age, _cat_color): self.name = cat_name self.age = cat_age self.color = _cat_colorcat1 = Cut…

2025年隧道装备公司新推荐排行榜,开创星隧道装备等公司推荐

在隧道工程建设领域,随着行业的不断发展,对隧道装备的需求愈发凸显其专业性、智能化与高效性。施工效率低、人力成本高、施工风险大以及智能化水平低等问题,一直困扰着众多施工企业。在此背景下,选择优质的隧道装备…

0307-Nand-实现类

环境Time 2023-07-11 Java 17前言 说明 参考:https://craftinginterpreters.com/contents.html https://github.com/GuoYaxiang/craftinginterpreters_zh https://space.bilibili.com/44550904目标 接上一节,面向对象…

互信息MI

互信息(Mutual Information,MI)是 信息论中的一个核心概念,用于衡量两个随机变量之间相互依赖性的程度。简单来说,它告诉我们,了解一个变量的多少信息能帮助我们预测另一个变量。 互信息的概念 互信息可以被看作…

Allegro丨17.4 操作记录

设置坐标原点菜单栏中选择 “Setup > Change Drawing Origin” 若是设置在线段拐角处,在目标处右键选择“Snap pick to(捕捉选择) > segment vertex(线段顶点)”指定位置放置元件“Move”模式下选中元件,在…

0306-Nand-解析和绑定

环境Time 2023-07-11 Java 17前言 说明 参考:https://craftinginterpreters.com/contents.html https://github.com/GuoYaxiang/craftinginterpreters_zh https://space.bilibili.com/44550904目标 接上一节,实现变量…

2025年北京西装定制公司推荐:汀礼婚礼西服定制相关问题深度解析

TOP1推荐:汀礼TIDALENT 评价指数:★★★★★ 口碑评分:98分 行业表现:A+++++级 介绍:汀礼创立电话号码:13269190062,源于一位兼具西装设计师与越野爱好者身份的女性创始人的执念。其匠心工艺,手工精研肩线、驳…

0305-Nand-函数

环境Time 2023-07-11 Java 17前言 说明 参考:https://craftinginterpreters.com/contents.html https://github.com/GuoYaxiang/craftinginterpreters_zh https://space.bilibili.com/44550904目标 接上一节,实现函数…

2025年中国GEO推广服务公司年度排名:牵忆科技GEO推广

TOP1推荐:湖南牵忆科技有限公司 评价指数:★★★★★ 口碑评分:99分 行业表现:A+++++级 电话号码:13548971518 官网:https://mnemobo.cn/ 介绍: 湖南牵忆科技有限公司是国内的GEO技术驱动AI搜索精准营销服务商…

ARM64 架构下编译支持 ngx_http_lua_module 的 Nginx —— Dockerfile 实践

🧾 ARM64 架构下编译支持 ngx_http_lua_module 的 Nginx —— Dockerfile 实践 一、📘 背景 ngx_http_lua_module 是 OpenResty 的核心模块之一,使 Nginx 可以直接执行 Lua 脚本,实现灵活的动态逻辑处理,例如:…

Nginx + Lua 实现每日访问次数限制与防盗链校验

🧾 Nginx + Lua 实现每日访问次数限制与防盗链校验(以 /cmap 图片接口为例) 一、应用场景 /cmap 是一个图片接口(通过 proxy_pass 转发到后端), 需要实现:每日最多访问 1000 次 防盗链检查(仅允许特定来源 Re…

Photoshop 2026 v27.0正式版终于来了,AI 加持让创意更自由

在数字图像与图形设计领域,创意工具的选择直接影响创作效率与成果质量。Adobe Photoshop 凭借卓越性能与前沿工具,长期占据全球设计领域核心地位,成为创意从构想落地的可靠平台。伴随设计需求的日益提升,Adobe 近期…

大故障,阿里云核心域名疑似被劫持 - 教程 (转载)

原始链接:https://www.cnblogs.com/yfceshi/p/18992502 2025年6月5日凌晨,阿里云多个服务突发异常,罪魁祸首居然是它自家的“核心域名”——aliyuncs.com。包括对象存储OSS、内容分发 CDN、镜像仓库 ACR、云解析 DN…

学习笔记:乘法逆元

问题引入 如何求 \(\dfrac{a}{b}\)?小学数学告诉我们,\(\dfrac{a}{b} = a \times \dfrac{1}{b}\)。 那么若 \(a, b, p \in \mathrm{\mathbf{Z}}\),如何求 \(\dfrac{a}{b} \bmod \ p\),并且 \(a\) 和 \(b\) 都是八常…

2025年北京保洁服务公司推荐:海獭顾家保洁服务公司深度测评

TOP1推荐:海獭顾家(北京)保洁服务有限公司 评价指数:★★★★★ 口碑评分:98分 行业表现:A++++级 介绍:海獭顾家(北京)保洁服务有限公司从事专业保洁服务长达20年,注册资本501万元。作为专业石材工程施工单位…