题目传送门 余数求和 题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如G(10, 5)=5 mod 1 + 5 mod 2 + 5 mod 3 + 5 mod 4 + 5 mod 5 …… + 5 mod 10=0+1+2+1+0+5+5+5+5+5=29 输入输出格式 输入格式: 两个整数n k 输出格式: 答案 输入输出样例 输入样例#1…
P2261 [CQOI2007]余数求和 题意: 求\(G(n,k)=\sum_{i=1}^n k \ mod \ i\) 数据范围: \(1 \le n,k \le 10^9\) \(G(n,k)\) \(=\sum_{i=1}^n k-i*\lfloor \frac{k}{i} \rfloor\) \(=n*k-\sum_{i=1}^n i*\lfloor \frac{k}{i} \rfloor\) 显然,\(\lfloor \frac{k}{i} \rfloor\)的分布可能会有重复. 根…
P2261 [CQOI2007]余数求和 关键在于化简公式,题目所求$\sum_{i=1}^{n}k\mod i$ 简化式子,也就是$\sum_{i=1}^{n}(k-\frac{k}{i}\times k)$ $=n*k-\sum_{i=1}^{n}\frac{k}{i}\times k$ $⌊ \frac{m}{k}⌋$ 共有 $O( √ m)$ 种取值,直接计算.总时间复杂度 $O( √ m)$ 观察下图: 你会发现$\frac{k}{i}$是有规律的,或者说相同的紧挨着,分布在同一个块中…
洛谷题目链接:[CQOI2007]余数求和 题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数.例如G(10, 5)=5 mod 1 + 5 mod 2 + 5 mod 3 + 5 mod 4 + 5 mod 5 -- + 5 mod 10=0+1+2+1+0+5+5+5+5+5=29 输入输出格式 输入格式: 两个整数n k 输出格式: 答案 输入…
洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h> using namespace std; typedef int _int; #define int long long _int main() { int n,k,ans=0; cin>>n>>k; for (int i=1;i<=n;++i) { ans+=(k%i)…
传送门 解题思路 数论分块,首先将 \(k\%a\) 变成 \(k-a*\left\lfloor\dfrac{k}{a}\right\rfloor\)形式,那么\(\sum\limits_{i=1}^nk\%i=n*k-\sum\limits_{i=1}^ni*\left\lfloor\dfrac{k}{i}\right\rfloor\),这样的话因为\(\left\lfloor\dfrac{k}{i}\right\rfloor\)的取值只有\(O(\sqrt n)\)级别,所以可以每次找到相等…
参考:题解 令f(i)=k%i,[p]表示不大于p的最大整数f(i)=k%i=k-[k/i]*i令q=[k/i]f(i)=k-qi如果k/(i+1)=k/i=qf(i+1)=k-q(i+1)=k-qi-q=f(i)-q于是,对于区间[l,r],使其之内任意两个整数i,j,都满足k/i=k/j,则f(l)到f(r)是一个递减的等差数列,公差为[k/i].现在就是要把1到n分成这样的一些区间,设某个区间的商(公差)为p设区间内某数为x,则现在要做的是解方程[k/x]=p显然px<=k,因此x<=k…
题目大意:给定 n, k,求\(\sum\limits_{i=1}^n k\%n\) 的值. 题解:除法分块思想的应用. \(x\%y=x-y\lfloor {x\over y}\rfloor\),因此只需快速求出 \(\sum\limits_{i=1}^n {k\over i}\) 即可. 引理:\(i\in [1,k], {k\over i}\) 最多只有不超过 \(2\sqrt k\) 个不同的值.(分情况讨论即可得出) 现在,只需找出每一段的起点和终点即可根据等差数列求和的方式来在 \(…
题目大意 给出正整数 n 和 k 计算 \(G(n, k)=k\ \bmod\ 1 + k\ \bmod\ 2 + k\ \bmod\ 3 + \cdots + k\ \bmod\ n\) 的值 其中 \(k\ \bmod\ i\) 表示 k 除以 i 的余数. 解析 整除分块的一个典型例子. 整除分块解决的是形如 \[ \sum^n_{i=1} ~ \lfloor\frac{n}{i}\rfloor \] 的问题,其复杂度为\(O(\sqrt{n})\). 实际上是规律性的一类问题,打表可以发…
题目戳这里 一句话题意 求 \(\sum_{i=1}^{n} (k ~~\texttt{mod} ~~i)\) Solution 30分做法: 说实话并不知道怎么办. 60分做法: 很明显直接一遍o(n)枚举 i 就可以求出. 100分做法: 对于每一个k mod i,我们知道k mod i = k-k/i*i,那么 \(\quad \sum_{i=1}^{n}{k \quad mod \quad i}=n*k-\sum_{i=1}^{n}(k/i*i)\) 所以这个题目就转化成了求 \(\su…