早就退役啦!
乍一看挺水的。
板子题。
code
给定一个 n 维的球体上 n+1 个点的坐标 ai,j。求球心坐标 (x1,x2,…,xn)。
球心到所有点距离相等,那么只需要 ∀i∈[1,n+1]:∑nj=1(ai,j−xj)2=C,C 为常数即可。
但是,这是 n+1 个 n 元二次方程啊。怎么办?我们相邻做差,就成了 n 个 n 元一次方程。
具体地 ∑nj=1((ai,j−xj)2−(ai+1,j−xj)2)=∑nj=1a2i,j−a2i+1,j−2(ai,j−ai+1,j)xj=0,即 ∑nj=12(ai,j−ai+1,j)xj=∑nj=1a2i,j−a2i+1,j。
为了更清晰,写出它的增广矩阵:
⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣2(a1,1−a2,1)2(a1,2−a2,2)⋯2(a1,n−a2,n)n∑j=0(a21,j−a22,j)⋮⋮⋱⋮⋮2(an,1−an+1,2)2(an,2−an+1,2)⋯2(an,n−an+1,n)n∑j=0(a2n,j−a2n+1,j)⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦
Gauss 消元就完事了。
code
mod2/XOR 意义下的高斯消元。
用 bitset<>
搞,复杂度是 O(n2mw)。
code
本文作者:LJC001151
本文链接:https://www.cnblogs.com/LJC001151/p/16753829.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步