贼猴 0930 模拟赛 T2 | 计数

news/2025/9/30 20:58:48/文章来源:https://www.cnblogs.com/lajishift/p/19121766

没有传送门。

非常有意思的一道题,都是独立想出来的。

题意

维护一个序列,支持单点修改,查询全局所有长度为 \(k\) 的区间,区间中不同数字个数的和。

序列长度 \(n\),操作次数 \(m\),满足 \(n, k, m \leq 3 \times 10 ^ 5\),序列值域是 \([1,n]\)

思路

只要求求解一个和,很明显要拆贡献。

一个方向是去按照下标拆贡献,看每个位置的值被加入到区间中和被删除时对答案产生的影响,但贡献总是跟 \(k\) 有关,这不利于查询。

换一种思路,按照值域拆贡献,考虑每一个值会对答案产生多少贡献,这样就很好地将不同的值独立开来,解决不同数字的问题。
于是最后的答案就是对于一个值 \(i\) 所有长度为 \(k\) 且包含值 \(i\) 的区间的个数的和。

但是固定一个值,求包含它的区间数量也不好求,可以考虑正难则反,去计算有多少区间是不包含 \(i\) 的,最后用总共的区间个数 \(n - k + 1\) 减一下。

我们发现,一个区间不包含 \(i\) 必定是在 \(i\) 的两个出现位置之间,形式化地,是当前区间 \([l,r]\) 满足:

\[pos_{j - 1} \lt l \le r \lt pos_j \]

其中 \(pos\)\(i\) 出现位置的有序序列。

那么对于相邻的两个 \(pos\),其中包含的区间有 \(\max \left( 0, pos_{j} - pos_{j - 1} - k \right)\) 个。


先考虑不带修改的部分分:

我们将式子转变为 \(\max \left( k, pos_j - pos_{j - 1} \right) - k\)
就拆成了查询 \(\le k\)\(pos_j - pos_{j - 1}\) 的和以及个数。

不带修的情况只需要把所有的 \(pos_j - pos_{j - 1}\) 排序做后缀和,每次查询二分即可。


加上修改之后,就不能完成排序、后缀和的事情了。

先解决如何查询 \(\le k\)\(pos_j - pos_{j - 1}\) 的和以及个数,同时要支持加入与删除:
平衡树是可以做到的,但是太麻烦,可以用树状数组维护一个序列,下标为 \(i\) 表示 \(pos_j - pos_{j - 1} = i\)\(pos_j - pos_{j - 1}\) 之和。
每次修改就形如 \(add(i,i)\)

记录这个的个数也类似,只需要把定义改成个数,每次修改形如 \(add(i,1)\) 即可。

那么考虑每一次单点修改 \(a_i \rightarrow v\) 造成的影响,分原来的值(\(pre\_v\))和新的值(\(cur\_v\))考虑:

  • \(pre\_v\) 中,\(i\) 与其前驱,\(i\) 与其后驱的差应当删除,而其前驱和其后驱的差应当被加入。

  • \(cur\_v\) 类似,应当删除加入后 \(i\) 的前驱、后驱之间的差删除,将 \(i\) 与其前驱,与其后驱的差考虑。

时间复杂度是 \(O(m \log n)\)

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

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

相关文章

STM32H743-ARM例程13-SDIO - 实践

STM32H743-ARM例程13-SDIO - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

珠海自助建站软件网站后台程序和数据库开发

现在做的是RK平台的I2C驱动,不是说linux每个外设对应一个设备文件吗?可是找了一下一直没找到,今天特别搞了一下。I2C设备是注册为platform平台驱动的。 下面是我用adb命令查看的 linux的设备文件不一定只在dev/这个目录下面,像sys/ 目录下面也会有一些设备文件的 MID下面…

unibest + uView Plus+VSCode

Node下18+VSCode 插件:uni-app-snippets Vue (Official) Vue 3 Snippets ESLint Prettier - Code formatter Path Intellisense JSON5 syntaxpnpm create unibest@latest 项目名称:wejiaui 选择模板:base-uview-pro…

企石网站建设公司制作网页一般需要兼容哪些网站

目录 1、F12 2、robots 3、game1-喂青蛙 4、game 2 - flap bird 5、game 3 - Clash 6、Get&Post 7、sql (1)手工注入 (2)工具注入 8、命令执行漏洞 9、文件上传漏洞 10、文件泄露 11、php反序列化漏洞 12、PHP绕…

详细介绍:学科竞赛管理系统|基于SpringBoot和Vue的学科竞赛管理系统(源码+数据库+文档)

详细介绍:学科竞赛管理系统|基于SpringBoot和Vue的学科竞赛管理系统(源码+数据库+文档)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…

青岛建站seo公司无锡网站优化工作室

在 Flutter 开发中,加载本地 HTML 文件是一个常见的需求,尤其是在需要展示离线内容或自定义页面时。flutter_inappwebview 是一个功能强大的插件,支持加载本地文件和网络资源。本文将详细介绍如何使用 flutter_inappwebview 加载 App 本地 HT…

个人网站怎么设计seo求职信息

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。 本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。SCMI 是可扩展的,目前提供了以下接口: • 支持的接口的发现和自描述…

网站建设师恩施网页定制

导语内容提要李刚、唐炜主编的《C语言程序设计立体化教程(高等教育立体化精品系列规划教材)》主要分为四篇:语法基础篇、程序设计结构篇、初级应用篇和高级应用篇;其中第一篇语法基础部分介绍了C语言概述和C语言数据与运算;第二篇程序设计结构…

镇江网站推广优化做饰品网站

第二篇记录下Geometry函数,相对于其它语言,Arcade对Geometry的支持是一大亮点,这使得它的上限被大大提高了。 三、Geometry函数 1、Angle【角度】 单位为度(0-360),正北为90度,只考虑x-y平面。…

树的遍历实现

LeetCode 144. 二叉树的前序遍历 前序遍历的顺序是:根节点 → 左子树 → 右子树 import java.util.ArrayList; import java.util.List; import java.util.Stack;public class BinaryTreePreorderTraversal {public st…

张家港英文网站制作惠州做网站 百度优化

文章目录一、MySQL数据库备份单循环1. 安装mysql2. 配置mysql环境变量3. 刷新环境变量4. 创建数据库和表lue5. 脚本制作6. 运行脚本7. 查看备份的sql文件7. 脚本升级动态传参8. 运行脚本9. 查看备份的sql文件二、MySQL数据库表备份多循环2.1. 脚本制作2.2. 运行脚本2.3. 指定目…

福田区住房和建设局网站网站要实名认证

目录 1.概念2.结构3.实现4.优缺点5.使用场景6.模式扩展7.JDK 源码解析——Collection.iterator 方法 1.概念 (1)Java 设计模式——工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机等。这些工厂只生产同种类产…

企业网站在ps里做吗wordpress 点击文章图片

第1章:引言 大家好,我是小黑,今天咱们要聊聊Lock Support。Lock Support是Java并发编程的一块基石,它提供了一种非常底层的线程阻塞和唤醒机制,是许多高级同步工具的基础。 为什么要关注Lock Support?线程…

自媒体网站源码google store

del dict[key] # 删除dict字典里的键值

题解:AT_abc311_h [ABC311Ex] Many Illumination Plans

题意:给出一棵树,每个节点有权值,重量和颜色,问对于每个子树 \(u\),选出一个包含 \(u\) 的虚树,满足重量之和 \(\le X\),相邻两个点颜色不同且权值和最大。 做法: 首先我们会一个非常平凡的 \(O(nX^2)\) 做法,…

怎么在阿里云服务器上建设网站网站数据模版

知识导航(就问全不全) 当学习 Vue.js 时,除了基本的 HTML、CSS 和 JavaScript 知识外,还有一些其他的技术和语法需要了解,例如 ES6 和 TypeScript。以下是您可能需要学习的一些基础知识和对应的学习资源,我…

上海网站设计图片新建网址

没有使用Windows经典风格的QTreeView或QTreeWidget显示如下: 使用Windows经典风格的QTreeView或QTreeWidget显示如下: 树展开时: 树未展开时: 可以看到: 未使用Windows经典风格时,QTreeView或QTreeWidget…

南阳网站建设aokuo做图网站有哪些

随着人工智能的迅猛发展,ChatGPT作为一种强大的自然语言处理模型,逐渐在学术界引起了广泛的关注。本文将探讨ChatGPT在学术写作中的应用,并分享使用ChatGPT进行学术写作时的一些经验和心得。 01 — ChatGPT在学术写作中的应用 1.文献综述和…

淮南移动网站建设深圳网站推广优化

区域代理的保护机制:在链动商城系统里设定的代理有唯一性,每个省只有一个省代,每个市只有一个市代,每个区县只有一个区县代。这样也是保护每个代理的收益权益。 区域代理包含的权益类别:购物奖励折扣;区域实…

品牌网站建设哪里有维影企业网站管理系统

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高,旅游业和酒店业发展的速度越来越快。近年来,市面上酒店的数量和规模都在不断增加,如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…