G-数据结构-G
\]
T1 距离

首先这题部分分很多,直接 $ O (n^2) $ 枚举点对,在树上差分即可获得 70 分。
那么正解几乎和部分分就没什么关系了。
首先看到
\]
中带了一个 $ min $ 的操作,这让我们很不好用数据结构来维护,所以这个时候就得转化题意。
\]
这个式子是显而易见的,那么通过这个式子我们就可以将 $ \min $ 操作转换为 $ \max $ 操作和简单求和操作。
但是我们转了个dan啊,取 $ min $ 和 取 $ max $ 不是一样难以维护吗。
你说得对,但是,取 $ max $ 操作还可以再次进行转换。
在原本问题中,一个特征值为 $ a_i , b_i $ 的点,可以映射到平面直角坐标系上的一个点 $ (a_i,b_i) $ ,那么两个点 $ (a_i,b_i) $ 和 $ (a_j,b_j) $ 之间的贡献就是 $ \min{(\vert a_i - a_j \vert , \vert b_i - b_j \vert)} $ ,也就是 $ \vert {a_i - a_j} \vert + \vert {b_i - b_j} \vert - \max{(\vert a_i - a_j \vert , \vert b_i - b_j \vert)} $ 。
那么 $ \max{(\vert a_i - a_j \vert , \vert b_i - b_j \vert)} $ 就是 切比雪夫距离 。
学习切比雪夫距离可看这篇博客。
然后人类(反正不是我)发现 切比雪夫距离可以转化为曼哈顿距离 ,也就意味着可以将 取 $ max $ 操作转化为 绝对值求和操作,那么整道题就可以转化为 4个绝对值求和操作 。
怎么转呢?
我们通过图像来看,这是平面直角坐标系上所有与原点的切比雪夫距离为 1 的点:

一个边长为 2 的正方形的四条边。
然后我们在看看平面直角坐标系上所有与原点的曼哈顿距离为 1 的点:

一个边长为 $ \sqrt 2 $ 的正方形的四条边。
既然都是正方形,那么我给他转一下,然后再将边长乘上 $ \frac{\sqrt{2}}{2} $ 即可。
按理来说矩阵就是用来将一个坐标系旋转的,但是我根本不会好吧。
而且因为这是二维的,我们可以用虚数导一下。
$ x + y i $ 表示点 $ (x,y) $ ,一个虚数 乘上一个 虚数 的含义就是:两者的模长相乘,辐角主值相加。
所以将一个二维点进行旋转可以用虚数来导。那么将 $ (x,y) $ 逆时针旋转 45 °,再乘以 $ \frac{\sqrt{2}}{2} $ ,就相当于 乘上 $ \frac{1}{2} + \frac{1}{2} i $ 。点 $ (x,y) $ 也就变成了 $ (\frac{x-y}{2} , \frac{x+y}{2} ) $ 。
当然你旋转 45°、135°、-45°、-135° 都可以,一般会把 $ (x,y) $ 转化为 $ (\frac{x+y}{2} , \frac{x-y}{2} ) $。
接下来呢,设 $ a1_i = \frac{a_i + b_i}{2} , b1_i = \frac{a_i - b_i}{2} $,整道题都转化为了一个式子:
\]
也就是维护 四个 绝对值求和。
然后这玩意可以分治计算,具体来说,对于 $ ans[1,n] $ (此处为值域)来说,可以分为两点都在中点的同一侧,和两点在中点的异侧,即:
\]
直接用线段树维护即可,合并时直接合并,不过需要改写 $ push_up $ 函数。
时间复杂度 $ O (nlogn) $ ,但是常数巨大。
听wkh讲可以学习一下 $ FHQ treap $ 的有交集合并,对于这道题也是 $ O (n log n) $ 的,但是为什么他是最优解啊。
\]
G-数据结构-G的更多相关文章
- MySQL 中,\g和\G的作用
MySQL 中,\g和\G的作用: \g 的作用是 go (\g) Send command to mysql server. \G 的作用是将查询到的结果,每行显示一个字段和字段值,方便查看 ego ...
- Sed命令n,N,d,D,p,P,h,H,g,G,x解析3
摘自:https://blog.csdn.net/WMSOK/article/details/78463199 Sed命令n,N,d,D,p,P,h,H,g,G,x解析 2017年11月06日 23: ...
- sed命令n,N,d,D,p,P,h,H,g,G,x解析2
摘自: https://blog.csdn.net/xiexingshishu/article/details/50514132 sed命令n,N,d,D,p,P,h,H,g,G,x解析 2016年0 ...
- xtu数据结构 G. Count the Colors
G. Count the Colors Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Jav ...
- ubuntu 出现g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
Ubuntu 你可以安装搜狗输入法也可以使用sunpingyin,看个人爱好. 唯一要注意的是,不能把系统的更新关了,否则会出现一大堆的问题,连g++都无法安装. 在设置里面: 我以前有一个很不好的习 ...
- 【转】sed命令n,N,d,D,p,P,h,H,g,G,x解析
1. sed执行模板=sed '模式{命令1;命令2}' 即逐行读入模式空间,执行命令,最后输出打印出来 2. 为方便下面,先说下p和P,p打印当前模式空间内容,追加到默认输出之后,P打印当前模式空间 ...
- MySQl中的\g和\G
1. \g 在MySQL的sql语句后加上\g,效果等同于加上定界符,一般默认的定界符是分号; 2. \G 在MySQL的sql语句后加上\G,表示将查询结果进行按列打印,可以使每个字段打印到单独的行 ...
- sed命令n,N,d,D,p,P,h,H,g,G,x解析
1.sed执行模板=sed '模式{命令1;命令2}'即逐行读入模式空间,执行命令,最后输出打印出来2.为方便下面,先说下p和P,p打印当前模式空间内容,追加到默认输出之后,P打印当前模式空间开端至\ ...
- MySQL - \g 和 \G用法与区别
[1]DOS环境下 ① \g 可同时(单独)使用\g; 其作用等效于分号—’:’ : ② \G 可同时(单独)使用\G;; /G 的作用是将查到的结构旋转90度变成纵向:
- MySQL中\g和\G的作用
\g的作用和MySQL中的分号”;"是一样: \G的作用是讲查找到的内容结构旋转90度,变成纵向结构: 下面举例说明,查找数据库中的存在的存储过程状态: SHOW PROCEDURE STA ...
随机推荐
- 【MacOS】VMware安装10.15-Catalina版本
参考自: https://www.bilibili.com/video/BV1sf4y1D77A?p=4 资源地址: https://pan.baidu.com/s/1U6WOorb_TuORQ9ab ...
- 手把手使用 SVG + CSS 实现渐变进度环效果
效果 轨道 使用 svg 画个轨道 <svg viewBox="0 0 100 100"> <circle cx="50" cy=" ...
- 使用 C# 和 ONNX 來玩转Phi-3 SLM
LLM 席卷世界刷新 AI 的认知之后,由于 LLM 需要的硬件要求实在太高,很难在普通设备上运行,因此 SLM 逐漸受到重視,Phi-3 SLM 是由 Microsoft 所开发的模型,可以在你的电 ...
- Intel因特尔10700k CPU的核显驱动
下载地址: https://www.intel.cn/content/www/cn/zh/download/776137/intel-7th-10th-gen-processor-graphics-w ...
- 【转载】解决Nvidia-smi没有进程但是显存不释放的问题
----------------版权声明:本文为CSDN博主「打拳的土豆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn ...
- vue&element项目实战
1.背景 百度脑图链接:http://naotu.baidu.com/file/26ee2d8db38ad67e9905ae065bb0445e?token=e538157034f38f0d 1.1. ...
- SemanticKernel/C#:实现接口,接入本地嵌入模型
前言 本文通过Codeblaze.SemanticKernel这个项目,学习如何实现ITextEmbeddingGenerationService接口,接入本地嵌入模型. 项目地址:https://g ...
- 利用 Amazon EMR Serverless、Amazon Athena、Apache Dolphinscheduler 以及本地 TiDB 和 HDFS 在混合部署环境中构建无服务器数据仓库(一)云上云下数据同步方案设计
引言 在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求.本系列博客从一个重视数据安全和合规性的 B2C 金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云 ...
- 无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案[含ollama部署]
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案 1.Dify 简介 1.1 功能情况 Dify,一款引领未来的开源大语言模型(LLM)应用 ...
- 使用 navigateTo 实现灵活的路由导航
title: 使用 navigateTo 实现灵活的路由导航 date: 2024/8/13 updated: 2024/8/13 author: cmdragon excerpt: 摘要:本文详细介 ...