http://www.lydsy.com/JudgeOnline/problem.php?id=1257 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. Output 输出…
BZOJ1257 CQOI2007 余数之和 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. 1<=n ,k<=10^9 Output 输出仅一行,即j(n, k).…
http://www.lydsy.com/JudgeOnline/problem.php?id=1257 k%i=k-int(k/i)*i 除法分块,对于相同的k/i用等差序列求和来做 #include<cstdio> #include<iostream> using namespace std; int main() { int n,k; scanf("%d%d",&n,&k); ; if(n>k) { ans=1ll*(n-k)*k;…
1257: [CQOI2007]余数之和 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 6117  Solved: 2949[Submit][Status][Discuss] Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 m…
题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 题解k%i=k-\(\left\lfloor\frac{k}{i}\right\rfloor\) \(*i\),然后\(\left\lfloor\frac{k}{i}\right\rfloor…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mo…
非常经典的题目... 要求 则有 实际上 最多只有2*sqrt(k)种取值,非常好证明 因为>=sqrt(k)的数除k下取整得到的数一定<=sqrt(k),而k除以<=sqrt(k)以下的数也会得到sqrt(k)个>=sqrt(k)的数,于是k除以i下取整最多只有2*sqrt(k)种取值 于是我们枚举i,找到每一段k除以i下取整的数相同的左端点(k/(k/i+1)+1)和右端点(k/(k/i))计算答案即可,时间复杂度O(sqrt(k)) #include<iostream&…
题目大意 给你 \(n, k\),计算 $ \sum_{i=1}^n k \bmod i$ 解析 注意到 $ k\bmod i=k-[k/i] \times i$ 则上式等于 $ n \times k - \sum_{i=1}^n [k/i] \times i$ 注意到 $ [k/i]$的取值最多只有 $ sprt(k)$个,不妨用等差数列直接算出每段的 $ i$的和 代码 #include <iostream> using namespace std; long long n, k, ans…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 题目所求为$$Ans=\sum_{i=1}^nk%i$$ 将其简单变形一下$$Ans=\sum_{i=1}^nk-\lfloor\frac{k}{i}\rfloor*i$$ $$Ans=n*k-\sum_{i=1}^{min(n,k)}\lfloor\frac{k}{i}\rfloor*i$$ 容易知道$\frac{k}{i}$一共有$\sqrt{k}$种取值,可以利用分块技巧.然…
题意 求 $\sum _{i=1}^n k \ mod \ i$($1\leq n,k\leq 10^9$). 分析 数据范围这么大 $O(n)$ 的复杂度也挺不住啊 根据取模的意义,$k \ mod \ i = k - \left \lfloor \frac{k}{i} \right \rfloor * i$, 因此可以用整除分块,注意分类讨论 $k$ 与 $n$ 的关系. #include<bits/stdc++.h> using namespace std; typedef long l…
被zcr和yy轮流嘲讽了一番,感觉自己智商日渐下降...\TヘTツ 先拆mod变成整数除法,然后就是$nk- \Sigma_{i=1}^{n} i * \lfloor \frac{k}{i} \rfloor$.求后面那个. 然后发现$\lfloor \frac{k}{i} \rfloor$是连续且单调不增的.对于$x$,$[x,\lfloor \frac{k}{\lfloor \frac{k}{i} \rfloor} \rfloor]$内这个商是一样的.可以意会. 这个是找规律得到的,不会证QW…
题意: 给定n, k,求$\displaystyle \sum_{i=1}^nk\;mod\;i$ n,k<=1e9 思路: 先转化为$\displaystyle \sum_{i=1}^n(k-i\lfloor\frac{k}{i}\rfloor)=\displaystyle \sum_{i=1}^nk-\sum_{i=1}^ni\lfloor\frac{k}{i}\rfloor$ 而k/i在一定范围内是不变的,所以分块求等差数列就可以了 代码: /***********************…
题目链接 bzoj1257: [CQOI2007]余数之和 题解 数论分块,乘等差数列求和 代码 #include<bits/stdc++.h> using namespace std; inline int read() { int x = 0,f = 1; char c = getchar(); while(c < '0' || c > '9')c = getchar(); while(c <= '9' && c >= '0')x = x * 10…
[bzoj1257][CQOI2007]余数之和sum 2014年9月1日1,9161 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. Output 输出仅一行,即j(n,…
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 2001  Solved: 928[Submit][Status] Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3…
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 4474  Solved: 2083[Submit][Status][Discuss] Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3…
[BZOJ1257]余数之和(数论分块,暴力) 题解 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. Output 输出仅一行,即j(n, k). Sample Input…
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 3769  Solved: 1734[Submit][Status][Discuss] Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3…
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1779  Solved: 823[Submit][Status] Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3…
n >= k 部分对答案的贡献为 k * (n - k) n < k 部分贡献为 ∑ (k - ⌊k / i⌋ * i)  = ∑  , ⌊k / i⌋ 相等的数是连续的一段, 此时这段连续的数对答案的贡献成等差数列, 可以O(1)求出..然后就分⌊k / i⌋相等的一块一块来就行了. 分出来大概是sqrt(k)块.这个sqrt(k)我并不会证Orz...写了个程序验证了一下, 分出来的块数和2 * sqrt(k)非常接近. 所以时间复杂度为O(sqrt(k)) ---------------…
BZOJ_1257_ [CQOI2007]余数之和sum_数学 题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值. 分析:把k mod n搞成k - k/n*n; 答案就是(k+1)*k/2减去后面那一坨. 发现每段相等的k/i乘了一个等差数列. 完了. 代码: #include <stdio.h> #include <string.h> #include <algorithm> usin…
1257: [CQOI2007]余数之和 Time Limit: 5 Sec  Memory Limit: 128 MB Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k.…
Bzoj 1257 [CQOI2007]余数之和 (整除分块) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 一道简单题. 题目要求: \[\sum_{i=1}^nx \% i = \] \[\sum_{i=1}^nk - i * [\dfrac{k}{i}] = \] \[n * k - \sum_{i=1}^n i * [\dfrac{k}{i}]\] 后面这一部分可以用整除分块解决. 需要注意的是.\(k\%i(i >…
题目链接题意: 给定n,k,求 ∑(k mod i) {1<=i<=n} 其中 n,k<=10^9. 即 k mod 1 + k mod 2 + k mod 3 + … + k mod n的值. 我们先来看商之和. 给定n,k,求∑(k/i) {1<=i<=n} 其中/为整除. 可以得到一个引理,k/i值的个数不超过2*√k种.证明:k整除小于√k的数,都会有一个不同的结果:k整除大于√k的数,结果肯定小于√k,所以最多也只能有√k种结果. 于是我们可以枚举结果的取值累加.是…
题目描述 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 输入 输入仅一行,包含两个整数n, k. 输出 输出仅一行,即j(n, k). 样例输入 5 3 样例输出 7 题解 分块 首先当i>k时,k%i=k,所以如果n>k,直接把答案预先加…
点此看题面 大致题意: 求\(\sum_{i=1}^nk\%i\). 关于除法分块 这是一道除法分块的简单应用题. 式子转换 显然\(k\%i\)是一个很难处理的项. 于是我们就要使用使用一个常用的套路:将\(k\%i\)转化为\(k-\lfloor\frac ki\rfloor*i\). 代入原式就是这样: \[\sum_{i=1}^nk-\lfloor\frac ki\rfloor*i\] 由于\(k\)与\(i\)无关,所以我们可以将它提出,得到: \[n*k-\sum_{i=1}^n\l…
Time Limit: 5 Sec Memory Limit: 128 MB Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. 1<=n ,k<=10^9 Output…
Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7Input 输入仅一行,包含两个整数n, k.Output 输出仅一行,即j(n, k).Sample Input5 3 Sample Output7 HINT 50%的数据…
Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. 1<=n ,k<=10^9 Output 输出仅一行,即j(n, k). Sample Input 5 3 Sample…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1257 [题目大意] 给出正整数n和k,计算j(n,k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 [题解] 我们发现k%i=k-[k/i]*i,j(n,k)=n*k-∑[k/i]*i,我们知道[k/i]的取值不超过k^(1/2)个, 并且在分布上是连续的,所以我们可以分段求和,对于段开头l,其段结尾r=k/[k/l]. [代码] #inc…