关注我,分享高质量每日一题题解~
b站同名账号分享力扣杯历届真题视频题解,也欢迎大家提出宝贵意见!
思路:数学(由于公式没法换行,就贴图片了)
代码(C++)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
int n;
cin >> n;
vector<ll> x(n), y(n);
ll ret = 0, sumx = 0, sumy = 0;
for(int i = 0; i < n; i++) {
cin >> x[i] >> y[i];
sumx += x[i];
sumy += y[i];
}
for(int i = 0; i < n; i++) {
ret += n * (x[i] * x[i] + y[i] * y[i]);
ret -= x[i] * sumx + y[i] * sumy;
}
cout << ret << endl;
return 0;
}
%%%
tql!
请问这道题不需要去除重复坐标吗。我去重的WA了,没去重的AC了。但是题目中说了不保证所有点都不相同
就是因为有的点可能相同,所以不能去重。重复的点就计算多遍。
我懂了,谢谢
very nice!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
好强啊,数学好久没用了
厉害👍
图片里的公式用啥写的呀 软件吗 还是啥呀
latex语法,闫大佬这个网站支持markdown格式的
贴个证明
$$ \sum_{i<j} (x_i - x_j)^2 = \frac{1}{2} (\sum_{i,j} (x_i - x_j)^2 ) =\frac{1}{2} (\sum_{i,j} x_i^2 + \sum_{i,j} x_j^2-\sum_{i,j}2x_ix_j)= \sum_{i,j} x_i^2 - \sum_{i,j}x_ix_j = n\sum_{i} x_i^2 - (\sum_{i}x_i)(\sum_{j}x_j) $$
评论贴不了图片,随缘吧。。。
厉害了 公式都跑评论区外面了
hh
推完发现如此精妙,老哥太强了%%%
太对啦%%%
太棒啦%%%
强呀哥我还是第一次知道这个公式