luogu 5560

   日期:2020-09-05     浏览:99    评论:0    
核心提示:题目题目大意:一棵树有n个结点,每个点的值分别是i2−1i^2-1i2−1,每条边的权值是gcd(i2−1,j2−1)gcd(i^2-1,j^2-1)gcd(i2−1,j2−1) 求树边总权值的最小值题目链接:https://www.luogu.com.cn/problem/P5560思路暴力打表可以发现 只有4 10需要特判 其他都是n−1n-1n−1代码#include#include#include

题目


题目大意:一棵树有n个结点,每个点的值分别是 i 2 − 1 i^2-1 i21,每条边的权值是 g c d ( i 2 − 1 , j 2 − 1 ) gcd(i^2-1,j^2-1) gcd(i21,j21) 求树边总权值的最小值
题目链接:https://www.luogu.com.cn/problem/P5560

思路

暴力打表可以发现 只有4 10需要特判 其他都是 n − 1 n-1 n1

代码

#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<cctype>
#include<ctime>
#include<iostream>
#include<string>
#include<map>
#include<queue>
#include<stack>
#include<set>
#include<vector>
#include<iomanip>
#include<list>
#include<bitset>
#include<sstream>
#include<fstream>
#include<complex>
#include<algorithm>
#if __cplusplus >= 201103L
#include <unordered_map>
#include <unordered_set>
#endif
#define int long long
using namespace std;
const int INF = 0x3f3f3f3f;

signed main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		if(n==4) cout<<5<<endl;
		else if(n==10) cout<<11<<endl;
		else{
			cout<<n-1<<endl;
		}
	} 
    return 0;
}

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服