题目链接:https://cn.vjudge.net/contest/270608#problem/C 题目大意:给你一个n,让你求从1->n中间每个数的因子之和(每个数在求因子的过程中不包括本身和1) 具体思路:n是到2e9,首先暴力肯定是不可取的,然后我们可以通过以下两个优化将复杂度降到O( sqrt(n) )左右. 第一个优化,通过打表我们可以观察到,出现次数为k的可能不止一个数,所以我们可以一次性的将出现次数为k的一次全部算出来,再对这些数进行求和,这些数都是连续的,可以直接用等差数列求…
We all know that any integer number n is divisible by 1 and n. That is why these two numbers are not the actual divisors of any numbers. The function SOD(n) (sum of divisors) is defined as the summation of all the actual divisors of an integer number…
题面 LOJ #2802. 「CCC 2018」平衡树 题面有点难看...请认真阅读理解题意. 转化后就是,给你一个数 \(N\) ,每次选择一个 \(k \in [2, N]\) 将 \(N\) 变成 \(\displaystyle \lfloor \frac{N}{k} \rfloor\) ,到 \(1\) 停止. 求一共有多少不同的操作序列,也就是操作次数不一样或者某次操作的 \(k\) 不相同. 题解 首先考虑 dp ,令 \(f_i\) 为以 \(i\) 为开头的不同操作序列数. 显然…
题面传送门 题意: 求 \[\prod\limits_{x=1}^n\prod\limits_{y|x}\frac{y^{d(y)}}{\prod\limits_{z|y}z+1} \pmod{p} \] \(1 \leq n \leq 10^9\) \[y^{d(y)}=\prod_{z|y}y=\prod\limits_{z|y}z\times\frac{y}{z}=\prod\limits_{z|y}z^2 \] 然后 \[\begin{aligned}ans&=\prod\limits_…
题面传送门 题意: 求满足 \(1 \leq x \leq n\),\(1 \leq y \leq m\),\(\gcd(x,y)\) 为质数的数对 \((x,y)\) 的个数. \(T\) 组询问. \(1 \leq T \leq 10^4\),\(1 \leq n,m \leq 10^7\). 今天终于学会了莫比乌斯反演反演~~,就写篇博客加深下印象吧. 要说这莫比乌斯反演有多么博大精深,就不得不从莫比乌斯函数 \(\mu(x)\) 说起. 我们定义 \(\mu(x)\) 为: \[\mu(…
洛谷题面传送门 一道究极恶心的毒瘤六合一题,式子推了我满满两面 A4 纸-- 首先我们可以将式子拆成: \[ans=\prod\limits_{i=1}^A\prod\limits_{j=1}^B\prod\limits_{k=1}^C(\dfrac{ij}{\gcd(i,j)\gcd(i,j)})^{f(type)} \] 也就是说我们需要算出以下四项式子的值: \[\prod\limits_{i=1}^A\prod\limits_{j=1}^B\prod\limits_{k=1}^Ci^{f…
1225 余数之和 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 F(n) = (n % 1) + (n % 2) + (n % 3) + ...... (n % n).其中%表示Mod,也就是余数. 例如F(6) = 6 % 1 + 6 % 2 + 6 % 3 + 6 % 4 + 6 % 5 + 6 % 6 = 0 + 0 + 0 + 2 + 1 + 0 = 3. 给出n,计算F(n), 由于结果很大,输出Mod 1000000007的结果…
整除分块 一般形式:\(\sum_{i = 1}^n \lfloor \frac{n}{i} \rfloor * f(i)\). 需要一种高效求得函数 \(f(i)\) 的前缀和的方法,比如等差等比数列求和或对于积性函数的筛法等,然后就可以用整除分块的思想做. 题目解法 化公式变成比较方便的形式: \(\ \sum_{i = 1}^n \sum_{j = 1}^m (n \mod i)(m \mod j), i \ne j\) \(= \sum_{i = 1}^n \sum_{j = 1}^m…
#include<bits/stdc++.h> #define LL long long using namespace std; ; bool vis[maxn]; int prime[maxn]; int mu[maxn]; int sum1[maxn]; int sum2[maxn]; ; void get_mu()// mo bi su si han shu { mu[]=; vis[]=; ;i<maxn;i++) // prime = 0; other = 1; { ;} ;…
[POI2007]ZAP-Queries \(solution:\) 唉,数论实在有点烂了,昨天还会的,今天就不会了,周末刚证明的,今天全忘了,还不如早点写好题解. 这题首先我们可以列出来答案就是: \(ans=\sum_{i=1}^{a}{\sum_{j=1}^{b}{[gcd(i,j)==d]}}\) 我们发现后面那个东西(只有\(gcd(i,j)==d\) 时才为一)跟莫比乌斯很像,莫比乌斯是(只有$n==$1 才为一),所以我们再尝试转化一下(把d转化成1): \(ans=\sum_{i…