随笔分类 - 数学 - 约数
摘要:A 直接模拟即可。 B 对数组中的值进行排序去重。发现若去重之后的数组中有大于 3 个数时无解,因为无法找到一个点到数轴上四个点的距离均相等。若去重之后的数组中只有三个值,则判断中间的值是否到两边的值相等,若不相等,同理无解,相等则解为距离。若只有两个不同的值,若中点是整数,则答案为中点到左端点的距
阅读全文
摘要:题目大意:给定一个长度为 N 的序列,有 M 个操作,支持将下标为 x 的倍数的数都加上 y,查询下标为 i 的元素的值。 题解:由于查询操作很少,相对的,修改操作很多。若直接模拟修改操作,即:枚举倍数,容易超时。现考虑记录下每次 x 位置的修改值,每次查询一个位置时,只需枚举这个位置的约数,将这个
阅读全文
摘要:模运算相关 1. 在模意义下的减法运算时,应该在减法的同时加上 mod 避免产生负数。 约数相关 1. 不超过 2e9 的数的质因子分解中,最多有 10 个不同的质因子,且各个质因子的指数和不超过30。 2. 约数问题一般有两种思考方式。第一种为直接枚举约数,在 N 较小的情况下,可以在 $O(\s
阅读全文
摘要:题目大意:给定一个由 N 个元素组成的序列,现给 N 个元素加上 N 个系数,使得 $\sum\limits_{1\le i\le n}a_ib_i$ 取得最小正数,求这个最小正数是多少。 题解:由贝祖定理可知,对于任意两个正整数 a, b,一定存在 x, y,使得 ax+by=gcd(a,b) 成
阅读全文
摘要:题目大意:给定四个数字 a,b,c,d,求满足 $gcd(a,x)=b,lcm(c,x)=d$ 的 x 的个数。 题解: 解法1:根据 lcm 的性质,x 一定为 d 的约数。因此,直接枚举 d 的约数,并判断是否满足上述条件即可,时间复杂度较高。 解法2:解法一中直接枚举约数会导致有大量不满足条件
阅读全文
摘要:题目大意:给定 $N using namespace std; int n,cnt[15]; long long ans,sum; int p[11]={0,2,3,5,7,11,13,17,19,23,29}; void dfs(int now,long long val,long long su
阅读全文