除法分块

除法分块 是指使用分块计算的方法求S=∑i=1n⌊ki⌋S=\sum^{n}_{i=1}{\lfloor{\frac{k}{i}}\rfloor}S=i=1∑n​⌊ik​⌋的值。

举个例子。当 n=20n=20n=20 时,有

iii 111 222 333 444 555 666 777 888 999 101010 111111 121212 ………
⌊20i⌋\lfloor\frac{20}{i}\rfloor⌊i20​⌋ 202020 101010 666 555 444 333 222 222 222 222 111 111 ………

我们可以把 ∀i∈[1,n]\forall i\in[1,n]∀i∈[1,n] 分成若干块,使得每块的 ∀i\forall i∀i 除 nnn 的值向下取整后相等。

∴S=20+10+6+5+4+3+2×4+1×10\therefore S=20+10+6+5+4+3+2\times4+1\times10∴S=20+10+6+5+4+3+2×4+1×10。

题目描述 luogu2261\text{luogu2261}luogu2261

给出正整数 nnn 和 kkk 计算 G(n,k)=k  mod  1+k  mod  2+k  mod  3+⋯+k  mod  nG(n, k)=k\ \bmod\ 1 + k\ \bmod\ 2 + k\ \bmod\ 3 + \cdots + k\ \bmod\ nG(n,k)=k mod 1+k mod 2+k mod 3+⋯+k mod n的值。

输入格式

两个整数 n,kn,kn,k。

输出格式

答案。

输入样例

10 5

输出样例

29

说明

对于 30%30\%30% 的数据,有 n,k≤1000n , k \leq 1000n,k≤1000;

对于 60%60\%60% 的数据,有 n,k≤106n , k \leq 10^6n,k≤106;

对于 100%100\%100% 的数据,有 n,k≤109n , k \leq 10^9n,k≤109。

Solution 2261\text{Solution 2261}Solution 2261

根据定义,有 kmod  n=k−n×⌊kn⌋k\mod n=k-n\times\lfloor\frac{k}{n}\rfloorkmodn=k−n×⌊nk​⌋

依题意得G(n,k)=∑i=1n(kmod  i)=∑i=1n(k−i×⌊ki⌋)=nk−∑i=1n(i×⌊ki⌋)\begin{aligned}
G(n,k)&=\sum_{i=1}^{n}{(k\mod i)}\\
&=\sum_{i=1}^{n}{(k-i\times\lfloor\frac{k}{i}\rfloor)}\\
&=nk-\sum_{i=1}^{n}{(i\times\lfloor\frac{k}{i}\rfloor)}
\end{aligned}G(n,k)​=i=1∑n​(kmodi)=i=1∑n​(k−i×⌊ik​⌋)=nk−i=1∑n​(i×⌊ik​⌋)​

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
ll n,k; int main(){
scanf("%lld%lld",&n,&k);
ll ans=n*k,r;
for(ll l=1;l<=n;l=r+1){
if(k/l) r=min(n,k/(k/l));
else r=n;
ans-=(r-l+1)*(k/l)*(l+r)/2;
}
printf("%lld",ans);
}

除法分块 luogu2261 (坑)的更多相关文章

  1. 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)

    Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...

  2. 【BZOJ】1257: [CQOI2007]余数之和(除法分块)

    题目 传送门:QWQ 分析 大佬和我说本题是除法分块,莫比乌斯反演中也有用到. QwQ我不会莫比乌斯反演啊~ 题目让我们求  $ \sum_{i=1}^n  k\mod n $ 然后根据$ a \mo ...

  3. P2424 约数和 && 真丶除法分块

    P2424 约数和 题目背景 Smart最近沉迷于对约数的研究中. 题目描述 对于一个数X,函数f(X)表示X所有约数的和.例如:f(6)=1+2+3+6=12.对于一个X,Smart可以很快的算出f ...

  4. HDU-6395 多校7 Sequence(除法分块+矩阵快速幂)

    Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  5. bzoj1257[CQOI2007]余数之和(除法分块)

    1257: [CQOI2007]余数之和 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 6117  Solved: 2949[Submit][Statu ...

  6. Bzoj 2301: [HAOI2011]Problem b(莫比乌斯反演+除法分块)

    2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Description 对于给出的n个询问,每次求有多少个数对(x, ...

  7. Bzoj 2820: YY的GCD(莫比乌斯反演+除法分块)

    2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MB Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x& ...

  8. AcWing 199. 余数之和 (除法分块)打卡

    给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod ...

  9. HDU6395-Sequence 矩阵快速幂+除法分块 矩阵快速幂模板

    目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem:Portal传送门  原题目描述在最下面. Solution ...

随机推荐

  1. Spark比MR快是因为在内存中计算?错!

    MapReduce 就像一台又慢又稳的老爷车,虽然距离 MapReduce 面市到现在已经过去了十几年的时间,但它始终没有被淘汰,任由大数据技术日新月异.蓬蓬勃勃.花里胡哨地发展,这个生态圈始终有它的 ...

  2. git使用和操作

    git提交日志的规范 为了更规范的开发,特别是团队协同开发,对于代码托管工具的提交上都会有要求的. 作为开发者,我们一定要注重提交日志的规范性,我们要对自己写的代码负责.提交日志规范很多,最近看到了一 ...

  3. Docker学习之docker架构

    docker架构 解释 1.docker命令提交给docker daemon进行处理,可以拖取镜像,运行容器等等. 2.最右边的实际上是互联网的sass服务,docker daemon可以和Regis ...

  4. Spark学习之RDDs介绍

    什么是RDDS? RDDS即Resilient distributed datasets(弹性分布式数据集). Spark中,所有计算都是通过RDDs的创建,转换,操作完成的. 一个RDD是一个不可改 ...

  5. 第八届蓝桥杯java b组第六题

    标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...

  6. Kilani and the Game-吉拉尼的游戏 CodeForce#1105d 模拟 搜索

    题目链接:Kilani and the Game 题目原文 Kilani is playing a game with his friends. This game can be represente ...

  7. [系列] go-gin-api 路由中间件 - Jaeger 链路追踪(六)

    [DOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 - Jaeger 链路追踪(理论篇),这篇文章咱们接着分享:路由中间件 - Jaeger 链路追踪(实战篇). 这篇文章,确实让大家 ...

  8. 使用Docker安装FastDFS(分布式文件系统)

    1. 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS. 获取镜像可以通过下载 docker image pull delron/fastdfs 也可是直接使用提前下载的镜 ...

  9. LINUX系统学习以及初学者系统下载

    Linux系统常用命令大全 来源:服务器之家 [博客中所有文章如有不对的地方希望看官们指出,有问题也可以提出来相互交流,相互学习,感谢大家!] 初学者建议安装:sentOS Ubuntu系统下载连接h ...

  10. 虚拟机ubuntu 网速慢的解决方法

    其实虚拟机网速慢,我觉得就两个限制因素.一个是虚拟机的内存,内存小了,上传和下载的速率就慢了,就像内存小的虚拟机跑得慢是一个道理:还有一个就是网络连接方式,这里我使用的是桥接,之前我使用的NAT模式, ...