传送门 :
思路对于这题的答案 a n s = m a x { 加 边 前 的 最 大 值 , 加 边 后 的 最 大 值 } ans = max\{加边前的最大值,加边后的最大值\} ans=max{加边前的最大值,加边后的最大值}
因为数据范围很小所以我们可以跑 f l o y d floyd floyd
先求出所有点在加边前的最大值
最后在通过 m a x n [ i ] + m a x n [ j ] + d i s t ( i , j ) maxn[i]+maxn[j]+dist(i,j) maxn[i]+maxn[j]+dist(i,j)求出加边后的最大值
CODEint n,m,t;
pdd q[N];
double d[N][N];
double maxn[N];
char g[N][N];
double get_dist(pdd a,pdd b)
{
double dx = a.x - b.x;
double dy = a.y - b.y;
return sqrt(dx*dx + dy*dy);
}
void solve()
{
cin>>n;
for(int i=0;i>q[i].x>>q[i].y;
for(int i=0;i>g[i];
for(int i=0;i
关注
打赏