P2757 [国家集训队] 等差子序列 和 CF452F Permutation

news/2024/9/20 7:58:16/文章来源:https://www.cnblogs.com/rgw2010/p/18381117

题意:

给定一个长度为 \(n\) 的排列 \(a\),判断其中是否有长度 \(\ge 3\) 的等差数列。

\(1 \le n \le 5 \times 10^5\)

思路:

首先若存在长度 \(>3\) 的等差数列,则其中的一部分肯定由长度为 \(3\) 的等差数列组成;即我们现在只需要判断是否存在长度为 \(3\) 的等差数列即可。

考虑枚举中间的数 \(a_i\),则问题转化为 \(a_i-k\)\(a_i + k\) 是否同时出现在 \(i\) 的两侧。

注意到 \(a\) 是一个排列,则是没有重复数字的。

那么我们可以记作若 \(i\) 左边的 \(a_j\) 出现过,则将标记数组中第 \(a_j\) 个位置为 \(0\)

若不可以构成等差数列的话,当 \(a_i-k\) 被标记了,则 \(a_i+k\) 也必须被标记(不然就会出现在 \(i\) 右侧,形成等差数列),那么标记数组就是以 \(i\) 为回文中心回文的。

现在我们需要支持单点赋值为 \(1\),判断一个区间是否是回文的;可以直接线段树维护翻转后和未翻转时的哈希值,判断是否相等即为回文。

时间复杂度为 \(O(N \log N \log W)\)

完整代码:


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

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

相关文章

C# 获取PDF页面大小、方向、旋转角度

在处理PDF文件时,了解页面的大小、方向和旋转角度等信息对于PDF的显示、打印和布局设计至关重要。本文将介绍如何使用免费.NET 库通过C#来读取PDF页面的这些属性。C# 读取PDF页面大小(宽度、高度) C# 判断PDF页面方向 C# 检测PDF页面旋转角度免费库 Free Spire.PDF for .NET…

uni-app小程序(快手、抖音)getCurrentPages使用坑位记录

前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app。 坑位 最近在做一个需求,在达到一定条件的情况下我需要根据路由堆栈中是否有我指定的页面来做不同的跳转,如果路由…

WPF 路由事件2

1什么是路由事件 简单说,路由事件可以沿着视觉树VisualTree进行传递,在这视觉树中的所有对象都可以收到这个事件。前提是添加了检测。 1.1什么是逻辑树LogicalTree 简单理解:逻辑树就是我们在xaml中写的布局逻辑 如xaml代码:<Grid><StackPanel Orientation="…

算法与数据结构——栈

栈 栈(stack)是一种遵循先入后出逻辑的线性数据结构。如图所示,我们将堆叠元素的顶部称为“栈顶”,底部称为“栈底”。将吧元素添加到栈顶的操作叫做“入栈”,删除栈顶的操作叫做“出栈”。 栈的常用操作方法 描述 时间复杂度push() 元素入栈(添加至栈顶) O(1)pop() 栈顶…

LuCI Themes

OpenWrt 2020BootstrapBootstrap LightBootstrap DarkMaterialOpenWrt

指挥网络

树形图的定义:没有环,每个点(除了根节点)的入度都是\(1\),根节点的入度为\(0\) 朱刘算法的过程见OI-wiki;当没有环的时候,就满足了树形图的定义,于是可以结束;否则的话就将所有环缩点(注意此时由于每个点的入度都是\(1\),所以不可能存在两个环有公共点和公共边)得到…

处理异常

2、.map 没用用吗1、pdb、看完后 反汇编

CSS处理font-weight不生效问题

如何解决 Android 系统中文字体字重问题 翻找了几天资料,发现Noto Sans SC字体能支持中文/数字/英文字体 100,300,400,500,700,900 的字重,具体如下图所示:<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+SC:300,400,…

处理font-weight不生效问题

如何解决 Android 系统中文字体字重问题 翻找了几天资料,发现Noto Sans SC字体能支持中文/数字/英文字体 100,300,400,500,700,900 的字重,具体如下图所示:<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+SC:300,400,…

Kubernetes API资源规范

1. 资源类型和资源对象 1.1 资源类型 (Resource Types) 1.1.1 核心资源类型Kubernetes API Primitive用于描述在Kubernetes上运行应用程序的基本组件,即俗称的Kubernetes对象(Object) 它们持久存储于API Server上,用于描述集群的状态依据资源的主要功能作为分类标准,Kuber…

一本通信奥解题: 1251:仙岛求药

1251:仙岛求药 时间限制: 1000 ms 内存限制: 65536 KB提交数:31087 通过数: 13638 【题目描述】少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处…

TwinCAT3 - 实现CiA402

目录1,起缘2,想办法3,开搞3.1,CANOpen通信3.1.1 对象字典3.1.2 通信建立3.2,CiA402伺服状态机3.3,伺服运行3.3.1 操作模式3.3.2 轮廓位置模式3.3.3 轮廓速度模式3.3.4 其他4,用起来 1,起缘 在TwinCAT3项目中涉及到轴运动时,通常做法都是在PLC中安装TC1250或者TF5000,…