HDU4627】的更多相关文章

思路是想到了一些 不过愣是没敢写........... /* 题意:给定一个整数n(2 <= n <= 109),满足a+b=n并且[a,b]的最小公倍数最大. */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map>…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4627 对n除个2,然后考虑下奇偶... //STATUS:C++_AC_15MS_228KB #include <functional> #include <algorithm> #include <iostream> //#include <ext/rope> #include <fstream> #include <sstream>…
/*找规律,n是奇数那么就是n/2和n/2+1 如果n是偶数,那就是两种情况n/2-1,和n/2-2两种,比较一下大小就可以 思路来自:http://www.cnblogs.com/freezhan/ */ #include<stdio.h> #include<string.h> __int64 gcd(__int64 a,__int64 b) { ) return a; return gcd(b,a%b); } __int64 LMC(__int64 a,__int64 b) {…
题意:给一个数n,找一个正整数x<n,使得x和n-x的最小公倍数最大. 思路:显然x和n-x越接近越好,gcd必须为1(贪心).从大到小考虑x,如果n为奇数,则答案就是x=n/2,如果n为偶数,令n=2k,如果k为奇数,且大于1则x=k-2否则x=k,如果k为偶数则x=k-1.以上结论基于以下两个事实: (1)相邻两个数的gcd为1 (2)相邻两个奇数的gcd为1 (3)1和1的gcd为1 写的时候没用到这些事实,直接从n/2向下枚举,当gcd为1时得到答案 1 2 3 4 5 6 7 8 9…