首页 > 最大 FST 距离
头像 shyyhs
发表于 2020-04-02 18:43:49
观察答案易知 答案无非 1.i*i-j*j+ai*ai-aj*aj 2.i*i-j*j+aj*aj-ai*ai 3.j*j-i*i+ai*ai-aj*aj 4.j*j-i*i+aj*aj-ai*ai答案肯定取4种情况的max...那么我枚举这四种情况的最大值就好了~观察易知就就两种方式取正负..取最 展开全文
头像 Silencer76
发表于 2025-08-09 04:34:34
题目链接 最大 FST 距离 题目描述 给定 个元素,第 个元素具有特征值 (其中 从 1 到 )。 定义两个元素 和 之间的 FST 距离为:。 请计算在所有可能的元素对中,最大的FST距离。 解题思路 本题要求解所有元素对之间FST距离的最大值。一个直接的暴力解法是使用两层循环,遍历 展开全文
头像 BraveCoder
发表于 2025-09-02 11:50:15
关键变形 —— 拆解绝对值的和绝对值的和 |a| + |b| 有一个重要的数学性质:对于任意实数 a,b,等式|a| + |b| = max{ |a+b|, |a-b| }恒成立。我们可以通过分类讨论(基于 a 和 b 的符号组合)验证这个性质:1. 当 a ≥ 0, b ≥ 0 时:|a| + | 展开全文
头像 MecciMiaowu
发表于 2025-06-18 13:32:22
注意到式子 很像曼哈顿距离的公式,故考虑转化。 考虑二维平面内的 个点 ,那么答案就是这 个点中所有点对曼哈顿距离的最大值。 我们可以将曼哈顿距离转化为切比雪夫距离,也就是 这些点中的切比雪夫距离的最大值,证明过程 见此处。 这个切比雪夫距离很好求,排序一下即可。 Code: const i 展开全文
头像 conv_lstm
发表于 2025-08-08 21:16:58
#include <algorithm> #include <iostream> #include<cmath> using namespace std; using ll=long long; struct p{ ll id_add_A; ll 展开全文
头像 牛客937992666号
发表于 2025-12-19 00:06:45
emm.... 将绝对值打开,只有四种情况: 所以就只需要对和排序即可 总代码: #include<bits/stdc++.h> using namespace std; #define endl&nb 展开全文
头像 niepan_gao
发表于 2025-06-24 20:03:42
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = 展开全文
头像 威风镰鼬
发表于 2022-02-09 18:08:18
思路 ∣i2−j2∣+∣ai2−aj2∣可以化为四种形式,取绝对值也就两种形式,因此我们只需要对i2−ai2以及i2+ai2排序,然后最大减最小比较即可。|i^2-j^2|+|a_i^2-a_j^2|可以化为四种形式,取绝对值也就两种形式,\\ 因此我们只需要对i^2-a_i^2以及i^2+a_i^ 展开全文
头像 十有久诚
发表于 2026-04-03 18:28:27
对于任意实数,等式恒成立。因此: import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Sc 展开全文
头像 bbl0705
发表于 2025-12-26 21:36:59
n = int(input()) l = list(map(int, input().split())) S1 = [] S2 = [] for i in range(1,len(l)+1): s1 = i**2 + l[i-1]**2 s2 = i**2 - l[i-1]**2 展开全文