1.题目链接。这个题让我对一个短语加深了认识:spanning Tree。生成树,一直看成了Splay Tree。。。。。百思不得其解,为什么一个lcm还搞出来伸展树。。最后仔细读才看出来不是Splay这个词。那就比较简单了,每条边选最小即可,最小一定是和1的lcm了。答案就是从2加到n。
#include<bits/stdc++.h>
using namespace std;
#pragma warning(disable:4996)
#define ll long long
int main()
{
int T;
scanf("%d", &T);
for(int ca=1;ca<=T;ca++)
{
ll n;
scanf("%lld", &n);
printf("Case #%d: %lld\n", ca, (n - 1)*(n + 2) / 2);
}
}