Minimum’s Revenge
因为边权是两个数之间的lcm,而对于所有的数,1和任意数的lcm都是最小的,故只需要求2 + 3 + 4 + 5 + …… + n即可
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include <iostream> #include <cstring> #include <cmath> #include <algorithm> #include <vector> #include <list> #include <set> #include <map> #include <cctype> #include <string> #include <queue> #define debug printf("debugn") #define mst(a,b) memset(a,b,sizeof(a)) #define INF 0x3f3f3f3f using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn=1e5+5; int () { ll t; cin>>t; ll n; ll kase=0; while(t--) { cin>>n; ll ans=((n+2)*(n-1))/2; printf("Case #%lld: %lldn",++kase,ans); } return 0; }
|
近期评论