随笔分类 - 数学--基础
摘要:题目 分析 首先如果我们对于左部每个点的贡献进行考虑,其实是不太好做的,所以这样的题目一般可以直接按照每一个贡献点的贡献次数来思考。 然后我们发现其实很多个数的和的 \(\gcd\) 与其本身也有关系,也就是一定可以从小的关系推出大的关系。 于是可以考虑两个不同的右端点,其拥有左端点集合的关系来判断
阅读全文
摘要:题目 CF492E Vanya and Field 分析 首先考虑在怎样的情况下才会重复,设原坐标为 \((x+k_1\cdot dx,y+k_1\cdot dy)\) ,设在 \(k_2\) 步重复,也就是: \[ \large (x+k_1\cdot dx,y+k_1\cdot dy)=((x+
阅读全文
摘要:题目 求 \[ \large \sum\limits_{i=1}^n\sum\limits_{j=1}^nf(\gcd(i,j))f(lcm(i,j)) \] 其中,\(\large f(x)=\sum\limits_{d\vert x}\mu(d)d\) 51nod2026 Gcd and Lcm
阅读全文
摘要:简介 狄利克雷卷积是数论函数的重要运算之一,它可以方便我们来描述数论函数之间的关系。 定义 我们这样定义狄利克雷卷积: 如果函数 \(h,f,g\) 满足: \[ h(n)=\sum\limits_{d\mid n}f(d)g(\dfrac nd) \] 那么我们称 \(h\) 是 \(f\) 和
阅读全文
摘要:线性筛总结 意在说明线性筛的一般方法和介绍几种作者遇到过的可以线性筛的数论函数。 最基础的线性筛 首先我们必须要知道以下线性筛的最基础的知识,要知道每一个数都是被其最小质因子唯一筛掉的,线性筛的过程其实是在处理最小质因子! 如果不会最基础的线性筛的原理,请转模板题题解。 一些前置小知识 常见数论函数
阅读全文
摘要:题目 P3166 [CQOI2014]数三角形 分析 数三点不共线显然不如数三点共线(其实是因为在这个之前做了一道不共线的 BZOJ3518点组计数。) 首先除去边角的三点共线,因为很好算,我们就可以只考虑斜着的三点共线。 直接枚举两个点代价太大,而枚举一个点信息又太少,于是考虑枚举第一个点和第三个
阅读全文
摘要:题目 CF27E Number With The Given Amount Of Divisors 分析 不知道为什么这种提这么多。 根据因数和公式,发现质因数个数很少,于是直接搜索即可。 代码 #include<bits/stdc++.h> using namespace std; templat
阅读全文
摘要:题目 P4571 [JSOI2009]瓶子和燃料 分析 使用裴蜀定理可以很容易转化成:给 \(n\) 个数选择其中 \(k\) 个可以得到的最大公因数。 考虑最大公因数的求法,在唯一分解定理之下其实就是对质因数的指数取 \(min\) 。 于是对所有数分解因数,找到出现次数大于 \(k\) 的因数即
阅读全文
摘要:题目 P1445 [Violet]樱花 分析 \[ \large (x+y)n!=xy \large (n!)^2-(x+y)n!+xy=(n!)^2 \large (n!-x)(n!-y)=(n!)^2 \large (x-n!)(y-n!)=(n!)^2 \] 于是设 \(A=x-n!\) ,那
阅读全文
摘要:题目 P4397 [JLOI2014]聪明的燕姿 分析 根据因数和公式,显然一个数的质因数和质数都不会太多,类似反素数的套路。 所以直接搜索即可。 代码 #include<bits/stdc++.h> using namespace std; template <typename T> inline
阅读全文

浙公网安备 33010602011771号