首页 > 其他分享 >数论分块(除法分块)

数论分块(除法分块)

时间:2023-01-24 12:11:22浏览次数:34  
标签:right frac 分块 数论 sum int 除法 left

定义

数论分块是个很常见的技巧,常用于计算$$\sum_{i=1}^{n} \left[\frac{k}{i} \right] $$

思路

原理很简单:设\(t_i \in\{x|x=\left[\frac{k}{i}\right]\}\)我们想办法每次计算出一个\(t_i\)的贡献,即一次求出一个\(\left[\frac{k}{i} \right]\)的值对答案的贡献,这样复杂库大约是\(O(log(n))\)

代码

代码实现是很简单的,这里是实现$$\sum_{i=1}^{n}\text{k%i}=\text{n*k-} \sum_{i=1}^{n} i*\left[\frac{k}{i} \right] = ans$$的计算的示例

   int anss=0;
   cin>>n>>k;
   anss+=n*k;
   int r;
   for(int l=1;l<=n;l=r+1){
   	t=k/l;
   	if(t==0)
   	break;
   	r=min(n,k/t);
   	anss-=(r+l)*(r-l+1)/2*t;
   }
   cout<<anss;


标签:right,frac,分块,数论,sum,int,除法,left
From: https://www.cnblogs.com/WXk-k/p/17065993.html

相关文章

  • 数论笔记
    ·质数素数定理:设\(x\geq1\),以\(\pi(x)\)表示不超过\(x\)的素数的个数。当\(x\rightarrow\infty\)时,\(\pi(x)\to\dfrac{x}{\ln(x)}\)质数筛法1.埃式......
  • 「学习笔记」分块
    layout:posttitle:「学习笔记」分块date:2021-10-29tags:算法分块莫队暴力分块是一种优化暴力的思想,一般情况下用于查询与修改复杂度差距过大的情况。分块......
  • 分块入门详解(比较全面)
    最近写了几个分块,顺便做一下笔记。什么是分块分块是一种数据结构。。有许多数据结构都是\(\mathrm{log}\)数据结构,比如线段树,树状数组等等。他们复杂度优秀,但是都是树......
  • 【OI】值域分块入门
    相信很多人在学习莫队,刷莫队题目时,回不可避免的遇到一个数据结构——值域分块。这篇文章就是帮助各位快速入门的。Q1给定一个序列,实现单点修改以及区间查询,保证修改次......
  • 数论笔记
    2023/1/18对于任意自然数\(n,m,a>1\),证\((a^m-1,a^n-1)=a^{(m,n)}-1\)证:来自同学$(a^m-a^n,a^n-1)=(a^n(a^{m-n}-1),a^n-1)$\((a^n,a^{(n,m)}-1)=1\)......
  • postgreSQL除法保留小数
    -1例子postgres=#select1/4;?column?----------0(1row)在PG里如果想做除法并想保留小数,用上面的方法却行不通,因为"/"运算结果为取整,并且会截掉小数部分。--2类型转......
  • 数论
    Problem-D-Codeforces大致题意给你一个长度为\(n\)的数列,让你给数列中每一个数都加上一个任意数,使得这个时候数列中的平方数最多并输出平方数的数量显然我们可以......
  • 数论学习笔记(自留向)
    前言数学我的一生之敌(本篇blog基本没有证明,你杠我就是我对,我们不生产知识,我们只是知识的搬运工)(不写证明才不是因为笔者\(\LaTeX\)用得不熟呢)裴蜀定理结论对......
  • 整除分块
    结论对于\(\lfloor\frac{n}{i}\rfloor\)的整数解最多存在\(2\sqrtn\)中,对于\(1\)到\(\sqrtn\)存在\(\sqrtn\)中,$\sqrtn$到\(n\)存在\(\sqrtn\)......
  • 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数
    从77开始的连续三篇文章,我们了解ABAP程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用OPENCURSOR和FETCHNEXTCURSOR这组ABAP......