A - Minimum’s Revenge
程序员文章站
2022-04-02 18:50:02
...
在这里插入代码片
添加链接描述
最小生成树 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。
本题中要求连通的两点的乘积加和最小,就是让所有节点和1连接
所有连接点的乘积和就是求2+3+、、、、、、+n,
等差数列求和 1.(n-1)(2+n)/2;
2 . 2(n-1)+(n-1)*(n-2)/2;
另外,int的范围大概在2^31
,也就是10^9,
但是出现10^9尽量用longlong,有时候int就过不了
/**/
#include<stdio.h>
int main()
{
int i,t;
long long ans,n;//注意n也需要用longlong
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%lld",&n);
ans=2*(n-1)+(n-1)*(n-2)/2;
printf("Case #%d: %lld\n",i,ans);
}
return 0;
}
推荐阅读