摘要:
题目链接:BZOJ 1053想一想就会发现,题目让求的 1 到 n 中最大的反素数,其实就是 1 到 n 中因数个数最多的数。(当有多于一个的数的因数个数都为最大值时,取最小的一个)考虑:对于一个整数 n ,如何求 n 的因数的个数? 将 n 分解质因数,n = p1^a1 * p2^a2 * p... 阅读全文
摘要:
题目链接:BZOJ 1045Attention:数据范围中 n #include #include #include #include #include using namespace std;const int MaxN = 1000000 + 5;int n;typedef long long ... 阅读全文
摘要:
题目链接:BZOJ 1044第一问是一个十分显然的二分,贪心Check(),很容易就能求出最小的最大长度 Len 。第二问求方案总数,使用 DP 求解。 使用前缀和,令 Sum[i] 为前 i 根木棍的长度和。 令 f[i][j] 为前 i 根木棍中切 j 刀,并且满足最长长度不超过 j 的方案... 阅读全文