#2989. 数列(cdq分治/曼哈顿距离)

#2989. 数列

给定一个长度为n的正整数数列a[i]。
定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。
2种操作(k都是正整数):
1.Modify x k:将第x个数的值修改为k。
2.Query x k:询问有几个i满足graze(x,i)<=k。因为可持久化数据结构的流行,询问不仅要考虑当前数列,还要
考虑任意历史版本,即统计任意位置上出现过的任意数值与当前的a[x]的graze值<=k的对数。(某位置多次修改为
同样的数值,按多次统计)

看到这个权值的定义之后,我们能够发现实际上这个东西就是二维平面上的曼哈顿距离,然后我们旋转坐标系之后就是一个矩形,所以我们只需要每次询问矩形空间内的点个数即可,这个东西就可以扫描线或者说是二维偏序做了。

cdq分治就是用来处理这种修改和询问独立,但是整体静态求解速度更快的问题。

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

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

相关文章

通过Blazor使用C#开发SPA单页面应用程序(4) - Ant Design

通过Blazor使用C#开发SPA单页面应用程序(1)通过Blazor使用C#开发SPA单页面应用程序(2)通过Blazor使用C#开发SPA单页面应用程序(3)前面学习了Blazor的特点、环境搭建及基础知识&#xff0c;现在我们尝试的做个实际的组件。Ant Design是蚂蚁金服是基于Ant Design设计体系的 UI 组…

POJ 1741 Tree(点分治)

POJ 1741 Tree 思路 男人八题中的一题&#xff0c;写完这题算是18\frac{1}{8}81​个男人了&#xff01; 这题是树上距离的计数问题&#xff0c;能够通过巧妙地排序加双指针来解决&#xff0c; 统计距离应该大家都会地&#xff0c;我就来说明一下如何计数吧。 假设我们已经求…

P1975 [国家集训队]排队(三维偏序)

P1975 [国家集训队]排队 查询逆序对数目&#xff0c;交换两个数的位置 首先逆序对是一个经典的二维偏序问题&#xff0c;然后现在问题变为静态&#xff0c;我们可以使用三维偏序来处理多出来的限制。或者也可以使用带修主席树处理。

Mercurial黄昏,Bitbucket宣布全面转向Git

源代码托管平台 Bitbucket 宣布将逐步放弃对版本控制系统 Mercurial 的支持。Bitbucket 推出于 2008 年&#xff0c;当时集中式版本控制是比较普遍的&#xff0c;Mercurial 是其中的典型代表&#xff0c;但是当前 Git 才是主流&#xff0c;它已经成为了大部分开源项目的首选版本…

HDU 4812 D Tree (点分治) (2013ACM/ICPC亚洲区南京站现场赛)

HDU 4812 D Tree 思路 点对距离相等并且要求输出字典序最小的点对&#xff0c;距离相等不就是点分治裸题了嘛&#xff0c; 照着这个思路出发我们只要记录下所有点对是满足要求的&#xff0c;然后再去找字典序最小的点对就行了&#xff0c; 接下来就是考虑如何求最小点对了&…

P2754 [CTSC1999]家园 / 星际转移问题(网络流)

P2754 [CTSC1999]家园 / 星际转移问题 经典问题&#xff0c;利用分层图来跑网络流。

使用 Azure DevTest Lab 搭建云端开发测试环境

点击上方蓝字关注“汪宇杰博客”导语程序员和测试工程师经常需要自己搭环境用于开发和测试目的&#xff0c;这些机器可能只会使用很短一段时间。通常我们会在本机使用 Hyper-V、VMWare 之类的虚拟机产品&#xff0c;或者使用企业IT管理员分配的虚拟机去完成这项工作。然而安装配…

dotNET Core WebAPI 统一处理(返回值、参数验证、异常)

现在 Web 开发比较流行前后端分离现在 Web 开发比较流行前后端分离&#xff0c;我们的产品也是一样&#xff0c;前端使用Vue&#xff0c;后端使用 dotNet Core WebAPI &#xff0c;在写 API 的过程中有很多地方需要统一处理文档参数验证返回值异常处理本文就说说 API 的统一处理…

HDU 4059 The Boss on Mars (容斥)(2011 Asia Dalian Regional Contest)

The Boss on Mars 思路 显然我们可以求得∑i1ni46n515n410n3−n30\sum_{i 1} ^{n} i ^ 4 \frac{6n^5 15n^4 10n ^3 - n}{30}∑i1n​i4306n515n410n3−n​&#xff0c;接下来就是考虑把其中不与nnn互质的数给踢出去了&#xff0c;显然我们可以考虑容斥。 假设np1a1p2a2p3…

P2764 最小路径覆盖问题(网络流)

P2764 最小路径覆盖问题 最小链覆盖问题&#xff0c;关键在于怎么转化为网络流问题&#xff0c;我们可以发现网络流的常见套路就是将一个点拆成出点和入点来处理&#xff0c;对于一条链恰好满足出点和入点匹配的性质&#xff0c;所以可以拆点然后对应连边&#xff0c;这样跑最…

.net测试篇之单元测试/集成测试神器Autofixture

autofixture简介有了单元测试框架加上Moq(后面我们会用单独章节来介绍moq),可以说测试问题基上都能搞定了.然而有了AutoFixture对单元测试来说可以说是如虎添翼,AutoFixture并且它能与moq,rhinomock等框架结合,对单元测试带来的便捷性,可维护性和扩展性更是难以言表,只有用用了…

杜教筛入门详解

杜教筛入门 前置知识 迪利克雷卷积&#xff08;*&#xff09;&#xff1a; 先介绍三个重要的函数&#xff1a; 元函数ϵ(n)[n1]\epsilon(n) [n 1]ϵ(n)[n1] 原函数可以看成是迪利克雷卷积里的单位元&#xff0c;即(ϵ∗f)(n)f(n)(\epsilon * f)(n) f(n)(ϵ∗f)(n)f(n)&am…

P2765 魔术球问题(网络流)

P2765 魔术球问题 给出n根柱子&#xff0c;求解可以将最多多少编号的球放在上面&#xff0c;并且满足相邻的编号和为完全平方数。 n<50 这个数据范围我们可以选择网络流&#xff0c;然后将对应点连边&#xff0c;然后每次枚举编号&#xff0c;将其加入残量网络&#xff0c…

DotNetCore 3.0 助力 WPF本地化

概览随着我们的应用程序越来越受欢迎&#xff0c;我们的下一步将要开发多语言功能。方便越来越多的国家使用我们中国的应用程序&#xff0c;基于 WPF 本地化&#xff0c;我们很多时候使用的是系统资源文件&#xff0c;可是动态切换本地化&#xff0c;就比较麻烦了。实现思路现在…

#6229. 这是一道简单的数学题(反演 + 杜教筛)

#6229. 这是一道简单的数学题 推式子 ∑i1n∑j1ilcm(i,j)gcd(i,j)(∑i1n∑j1nlcm(i,j)gcd(i,j)n)∗inv2所以重点求∑i1n∑j1nlcm(i,j)gcd(i,j)∑i1n∑j1nijgcd(i,j)2∑d1n∑i1nd∑j1ndij(gcd(i,j)1)∑d1n∑k1ndμ(k)k2(∑i1nkdi)2我们另tkd&#xff0c;得到∑t1n(∑i1nti)2∑k…

P2766 最长不下降子序列问题(网络流)

P2766 最长不下降子序列问题 求解LIS长度k求解长度为k的不下降子序列个数&#xff0c;并且一个数只能使用一次求解长度为k的不下降子序列个数&#xff0c;第一个数和第n个数可以使用任意次 首先利用dp可以求解出以每个点开始的最长不下降子序列&#xff0c;然后可以类似于最短…

开源题材征集 + MVCEF Core 完整教程小结

到目前为止&#xff0c;我们的MVCEF Core 完整教程的理论部分就全部结束了&#xff0c;共20篇&#xff0c;覆盖了核心的主要知识点。下一阶段是实战部分&#xff0c;我们将会把这些知识点串联起来&#xff0c;用10篇(天)来完成一个开源项目。现向园友征集题材&#xff0c;你提需…

P2770 航空路线问题(网络流)

P2770 航空路线问题 似乎是一个经典的双调路径问题&#xff0c;然后这里使用网络流解决了&#xff0c;本质上要求两条路径没有经过同一个点&#xff0c;并且总长度最大&#xff0c;所以我们实际上可以跑网络流&#xff0c;然后拆点限制路径没有交点。

欧拉心算(反演 + 积性函数筛)

欧拉心算 推式子 ∑i1n∑j1nϕ(gcd(i,j))∑d1nϕ(d)∑i1nd∑j1nd[gcd(i,j)1]∑d1nϕ(d)∑k1ndμ(k)(⌊nkd⌋)2另tkd∑t1n(⌊nt⌋)2∑d∣tϕ(d)μ(td)另f(n)∑d∣nϕ(d)μ(nd)我们考虑如何得到这个函数的前缀和&#xff0c;显然这是一个积性函数有如下性质f(1)1f(p)ϕ(1)μ(p)ϕ…