摘要:
详见代码:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#define MAXN 100using namespace std;// 给定一个有数值的矩形,求出和最大的子矩形// 经典的DP问题/*思路:枚举所有的行,然后将这些行的列进行相加构成一个串 然后再进行一次一维空间上的DP即可 */int N, M[MAXN+5][MAXN+5], sum[MAXN+5][MAXN+5], seq[MAXN+5];int DP() { int Max = 阅读全文
摘要:
详见代码:#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>using namespace std;// 给定一个数N,求1-N的所有数与这个数的gcd之和// 观察gcd函数,我们可以得知那些与N互质的数的gcd一定为1,也就是欧拉函数 // 那么那些不互质的数有gcd(x, N) = d // 也就是gcd(x/d, N/d) = 1,所以我们继续求N/d的欧拉函数就可以了 int eular(int x) { // 直接对某一个数进行素因子分解求解 in 阅读全文
摘要:
详见代码:#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>#define MOD 9901// 9901是一个素数 using namespace std;int A, B; // 计算A^B的所有因子的和 int num[50], ex[50], idx; // 记录所有的因子和指数void deal(int x) { idx = -1; for (int i = 2; i <= (int)sqrt(double (x)); ++i) { if (x 阅读全文