2025.04.01 CW 模拟赛 B. 数列 [ARC115E] LEQ and NEQ

news/2025/4/3 0:56:00/文章来源:https://www.cnblogs.com/Steven1013/p/18804867

B. 数列 & LEQ and NEQ

原题但没有做出来, 不过当时写的是单 \(\log\)​​ 做法.


题目描述

给定长度为 \(n\) 的正整数序列 \(a\)

一个长度为 \(n\) 的序列 \(b\) 是好的,当且仅当对于 \(1 \leq i < n\),都有 \(b_i \neq b_{i+1}\)

求解有多少个长度为 \(n\) 的好的正整数序列 \(b\),满足对于 \(1 \leq i \leq n\) 都有 \(1 \leq b_i \leq a_i\),答案对 \(998\ 244\ 353\)​ 取模。


思路

考虑一种 \(\mathcal{O}(nV)\) 的做法. 设 \(f_{i, j}\) 表示枚举到第 \(i\) 个数, 当前数填 \(j\) 的方案数. 转移时前缀和优化即可. 与正解联系并不大, 考场上止步于此.

正难则反, 我们考虑容斥.

我们称 \(b_i = b_{i + 1}\) 称为坏点, 设 \(F_i\) 表示至少\(i\) 对坏点的方案数, 答案即为 \(\displaystyle \sum_{i = 0}^n (-1)^i \cdot F_i\).

思考如何求出 \(F\) 数组, 我们可以设 \(f_{i, j}\) 表示当前枚举到第 \(i\) 个数, 已经有「\(j\) 对」坏点的方案数, 其中 「\(j\) 对」不单指两个数, 而是有 \(j\) 段连续且相等的段, 那么 \(F_i = f_{n, n - i}\).

不难写出 \(\mathcal{O}(n^3)\) 的转移式子

\[f_{i, j} = \sum_{k = 1}^{i - 1} f_{k, j - 1} \times \min_{l = k + 1}^i a_l \]

这里有一个 \(\rm{trick}\)

  • 因为最终容斥系数 \((-1)^j\) 只与 \(j\)奇偶性相关, 所以 \(j\) 这一维可以用 \(0/1\) 进行代替.

因此式子可以改写成

\[f_{i, 0} = \sum_{j = 1}^{i - 1} f_{j, 1} \times \min_{k = j + 1}^i a_k \\ f_{i, 1} = \sum_{j = 1}^{i - 1} f_{j, 0} \times \min_{k = j + 1}^i a_k \]

可以发现我们可以将转移式子分为两段, 分别是 \(\displaystyle \min_{k = j + 1}^i a_k = a_i\) 和其他. 前面一段可以使用前缀和进行优化, 同时记上一个比 \(a_i\) 小的位置为 \(lst\)

\[f_{i, x} = (sum_{i - 1, x \oplus 1} - sum_{lst - 1, x \oplus 1}) \times a_i + \sum_{j = 1}^{lst - 1} f_{j, x} \times \min_{k = j + 1}^i a_k \]

因为在 \(1 \sim lst\)\(a_{lst} < a_i\), 所以后面的式子可以改写为 \(\displaystyle \sum_{j = 1}^{lst - 1} f_{j, x} \times \min_{k = j + 1}^{lst} a_k = f_{lst, j}\), 直接继承过来. 对于 \(lst\) 不难使用单调栈维护, 所以这样一来就是线性的了.


结语

当时应该是抄的题解.

用了几个不熟容斥 \(\rm{trick}\), 长见识了.

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

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

相关文章

neo4j community教程

neo4j community最新版本安装教程(2025.1) 前言 ​ neo4j desktop以交互性好,体验好为优点。但是自24年中旬neo4j官网先后被墙和neo4j desktop联网打不开等诸多问题,本文作者建议使用community版本。 正文下载安装包neo4j官网,下载community最新版本(5.26.1)jdk-23下载(这…

代码随想录第四天 | Leecode 24. 两两交换链表、19.删除链表的倒数第N个节点、 面试题 02.07. 链表相交 、142.环形链表II

Leecode 24. 两两交换链表 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 题目描述:思路:虚拟头节点,注意保存临时节点 题目解答: 循环结束的时候就是,当链表偶数个时cur->next->next=NULL,奇数个时cur->next=NULL。 Leecode 19. 删…

JpaSpecificationExecutor :Spring Data JPA 动态查询的核心扩展

JpaSpecificationExecutor 是 Spring Data JPA 动态查询的核心扩展,通过 Specification 机制提供灵活的类型安全查询,解决了传统 JPQL 或 Criteria API 的冗余问题,特别适合复杂业务场景下的动态数据访问需求。 核心设计目标: ​动态查询:允许运行时动态构建查询条件,避免…

四款高效报表软件推荐 助力企业数据可视化

概述 在数字化时代,企业和组织越来越依赖数据驱动决策,报表软件成为提高数据可视化能力、优化业务管理的关键工具。本文将为大家介绍四款功能强大的报表软件,帮助不同需求的企业找到合适的解决方案。 一、山海鲸报表 山海鲸报表是一款零代码的免费数据可视化和报表生成工具,…

AMDGPU对CUDA支持方式的分析

AMDGPU对CUDA支持方式的分析 实现方式是针对HIP API(Heterogeneous-Computing Interface for Portability)做CUDA的接口套壳,即将cuda的API接口作为标准接口,用AMD ROCm实现cuda的API(目的就是保证对外的API与CUDA完全相同),但实际调用 HIP+ROCm 的相关接口实现(即实际…

AMD GPU平台简单分析

AMD GPU平台简单分析 在启动docker的测试命令中,传入一个设备参数--device=/dev/kfd,转到DOCKER环境,kfd表示AMDGPU异构计算的GPU设备驱动(KMD)的设备节点,它是用户操作GPU的基础。AMD GPU设备驱动流程简单分析,如图1-19所示。图1-19 AMD GPU设备驱动流程简单分析 AMDKF…

Javascript - 3

Javascript - 3 背后的运行原理High levelGarbage-collectedjs引擎内部的算法,为了不被不必要的东西堵塞,会从计算机内存中 自动删除旧的、未使用的对象解释型的 / 即时编译的语言(为了更快做出的调整) interpreted or just-in-time compiled通过 解释器(Interpreter) 逐行…

GPU学习笔记

从引言中“Dennard Scaling”的失效开始,引入GPU出现的背景,又介绍了GPU的通用性,以及高并发、低延迟保证的高计算速度。随后,我们以最常见的CUDA为例,介绍了GPU编程的基础,SIMT与SIMD,编译链接的过程。最后,我们深入硬件层面,分为三步走,先用最简系统“run起来”,然…

信创邮箱了解一下

企业微信后台,邮箱模块突然多了 【信创邮箱】这模块,让我们了解一下信创邮箱。一、信创邮箱的定义 信创邮箱,全称“信息技术应用创新邮箱”,是指基于信创全生态打造的企业邮箱服务。它遵循“信息技术安全创新”(简称“信创”)原则,采用国内自主研发的技术和方案实现信息…

小了 60,500 倍,但更强;AI 的“深度诅咒”

作者:Ignacio de Gregorio图片来自 Unsplash 的 Bahnijit Barman几周前,我们看到 Anthropic 尝试训练 Claude 去通关宝可梦。模型是有点进展,但离真正通关还差得远。 但现在,一个独立的小团队用一个只有一千万参数的模型通关了宝可梦,比主流前沿 AI 模型小了几千倍。 举个…

百度推出端到端语音大模型,支持方言、可打断、电话语音成本砍半;雷神 AI 眼镜发布:语音助理+摄像头,1799 元起丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

技术书《AI芯片开发核心技术详解》(1)、《智能汽车传感器:原理设计应用》(2)、《TVM编译器原理与实践》(3)、《LLVM编译器原理与实践》(4),谢谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…