再不写总结我又会忘掉啊啊啊啊啊啊啊啊啊

这个\(min-25\)筛主要用来求一个积性函数的前缀和,就像这样\[\sum_{i=1}^n f(i)\]
不过这个积性函数要满足两个条件:质数\(p\)的函数值\(f(p)\)有个多项式表达,\(f(p^c)\)能够快速计算

\(min-25\)筛求前缀和的过程可以看成把所有数贡献分成质数贡献和合数贡献计算(可能有\(1\)的贡献).先考虑质数的贡献

...

好像除了暴力没有更好的办法啊

不过可以发现一个数\(>\sqrt{n}\)的质因子最多只有一个,也就是任意合数至少会有一个\(\le\sqrt{n}\)的质因子,所以可以枚举\(\le\sqrt{n}\)的质因数筛掉合数的贡献.

后面记\(P\)为质数集合,\(P_j\)为从小到大第\(j\)个质数.这里设\(g(n,j)\)表示\(\le n\)的所有质数以及最小质因数\(>P_j\)的数的贡献.考虑从\(g(n,j-1)\)转移到\(g(n,j)\),如果\(P_j>\sqrt{n}\),那么所有数都是质数了,所以可以直接赋值过来;否则还要减去最小质因子\(=P_j\)的数贡献.先把所有这样的数\(/ P_j\),除完后\(i\)对应到\(\frac{i}{P_j}\),同时最小质因子也要满足\(\ge P_j\),所以这一部分就是\(f(P_j)g(\lfloor\frac{n}{P_j}\rfloor,j-1)\).不过这样也减去了一些\(<P_j\)的质数的贡献,要加回来,所以综上所述,转移可以这样写\[g(n,j)=\begin{cases}g(n,j-1)&P_j\ge \sqrt{n}\\ g(n,j-1)-f(P_j)(g(\lfloor\frac{n}{P_j}\rfloor,j-1)-g(P_j-1,j-1))&P_j< \sqrt{n}\end{cases}\]

那个\(g(P_j-1,j-1)\)就是\(\sum_{k=1}^{j-1}f(P_k)\)

可以发现\(g(n,|P|)\)就是所有\(\le n\)质数的贡献(记最大的\(\le \sqrt{n}\)的质数为\(P_m\),其实只要做到\(g(n,m)\)就行了)

然后考虑要求的,类似于上面过程,记\(S(n,j)\)为\(\le n\)所有最小质因子\(\ge P_j\)的数的贡献.首先考虑质数的贡献,也就是\[\sum_{k=j}^{|P|}f(P_k)=g(n,m)-g(P_j-1,j-1)\]

然后是合数贡献.先枚举那些合数的最小质因子\(P_k\),然后枚举它的出现次数\(c\),那么剩下数的贡献是\(S(\lfloor\frac{n}{{P_k}^c}\rfloor,k+1)\),因为是积性函数,所以这一部分的乘上\(f({P_k}^c)\)就是对应的数的贡献.但是这样子没有算到\({P_k}^c\)的贡献,所以额外加上,转移可以这样写\[S(n,j)=g(n,m)-g(P_j-1,j-1)+\sum_{k\ge j}\sum_{c}f({P_k}^c)(S(\lfloor\frac{n}{{P_k}^c}\rfloor,k+1)+[c>1])\]

然后递归处理即可

还有就是做的时候,只有形如\(\lfloor\frac{n}{i}\rfloor\)这样的数才是有用的,所以可以给每个这样的数编号,就能用数组代替map

例题先咕了

[总结] min-25筛的更多相关文章

  1. $Min\_25$筛学习笔记

    \(Min\_25\)筛学习笔记 这种神仙东西不写点东西一下就忘了QAQ 资料和代码出处 资料2 资料3 打死我也不承认参考了yyb的 \(Min\_25\)筛可以干嘛?下文中未特殊说明\(P\)均指 ...

  2. 「笔记」$Min\_25$筛

    总之我也不知道这个奇怪的名字是怎么来的. \(Min\_25\)筛用来计算一类积性函数前缀和. 如果一个积性函数\(F(x)\)在质数单点是一个可以快速计算的关于此质数的多项式. 那么可以用\(Min ...

  3. Min_25筛学习笔记

    感觉好好用啊 Luogu上的杜教筛模版题一发 Min_25抢到了 rank1 $ Updated \ on 11.29 $被 STO txc ORZ踩爆啦 前言 $ Min$_$25$筛可以求积性函数 ...

  4. [复习]莫比乌斯反演,杜教筛,min_25筛

    [复习]莫比乌斯反演,杜教筛,min_25筛 莫比乌斯反演 做题的时候的常用形式: \[\begin{aligned}g(n)&=\sum_{n|d}f(d)\\f(n)&=\sum_ ...

  5. 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)

    [51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...

  6. 【LOJ#572】Misaka Network 与求和(莫比乌斯反演,杜教筛,min_25筛)

    [LOJ#572]Misaka Network 与求和(莫比乌斯反演,杜教筛,min_25筛) 题面 LOJ \[ans=\sum_{i=1}^n\sum_{j=1}^n f(gcd(i,j))^k\ ...

  7. uoj#188. 【UR #13】Sanrd(Min_25筛)

    题面 传送门 题解 这是一道语文题 不难看出,题目所求即为\(l\)到\(r\)中每个数的次大质因子 我们考虑\(Min\_25\)筛的过程,设 \[S(n,j)=\sum_{i=1}^nsec_p( ...

  8. [学习笔记]min_25筛

    神佬yyb 神佬zsy 想不到花了两个小时的时间看 \(min\_25\) 筛就看懂了 实际去追了一下魔禁3 我们先举个例子.如求 \[\sum_{i=1}^{n}f(i)\] 其中 \(f(i)\) ...

  9. 【UOJ#188】Sanrd(min_25筛)

    [UOJ#188]Sanrd(min_25筛) 题面 UOJ 题解 今天菊开讲的题目.(千古神犇陈菊开,扑通扑通跪下来) 题目要求的就是所有数的次大质因子的和. 这个部分和\(min\_25\)筛中枚 ...

  10. uoj#448. 【集训队作业2018】人类的本质(Min_25筛+拉格朗日插值)

    题面 传送门 题解 肝了整整一天--膜拜yww和cx巨巨--(虽然它们的题解里我就没看懂几个字) 请备好草稿纸和笔,这种题目就是需要耐心推倒 题目所求是这么一个东西 \[ \begin{aligned ...

随机推荐

  1. MODBUS ASCII和RTU两种模式的区别、优缺点

    转自:http://blog.sina.com.cn/s/blog_89f286ad0102uzju.html 下表是MODBUS ASCII协议和RTU协议的比较: 协议 开始标记 结束标记 校验 ...

  2. bzoj4453

    单调栈+set+后缀数组 一道奇妙的题 这道题如果对于每个询问$r$是固定的,那么就很简单了,可惜并不是 由于r会变化,那么对于两个子串$[i...r],[j...r]$,他们的大小关系随着r的变化也 ...

  3. java代码优化(1)---

    代码的优化,需要考虑的维度很多.但是代码的优化并不是减少代码量,有的时候我们需要增加代码来提高代码的可读性. 1.正确标记变量 2.封装某个动作 3.注意函数的写法 4.不容易理解的东西,加注释

  4. ceph安装对象网关

    1.概述 安装3个网关节点分别是:controller-03.controller-04和controller-05,使用ceph gw自带的Civetweb提供服务,前端使用nginx作为前端代理. ...

  5. [hdu3586]Information Disturbing树形dp+二分

    题意:给出一棵带权无向树,以及给定节点1,总约束为$m$,找出切断与所有叶子节点联系每条边所需要的最小价值约束. 解题关键:二分答案,转化为判定性问题,然后用树形dp验证答案即可. dp数组需要开到l ...

  6. 使用Postman测试请求

    Postman是什么 在开发或者调试网络程序或者是网页B/S模式的程序的时候,需要一些方法来跟踪网页请求,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具. 网页调试工具Postm ...

  7. UVa 10213 How Many Pieces of Land ? (计算几何+大数)欧拉定理

    题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. ...

  8. iOS内购流程二(添加产品、沙盒账号以及上架流程)

    注意:使用了IAP的App必须先配置好协议.税务和银行业务 一.创建一个App应用 1.登录iTunes Store,点击我的App 2.新建一个App(如果App已经创建,直接点击App进入就行了) ...

  9. Django 之验证码实现

    1. django-simple-captcha 模块 安装 django-simple-captcha pip install django-simple-captcha pip install P ...

  10. JAVA企业级开发-jdbc事务,数据库连接池(10)

    一.   JDBC事务 事务: 问题1.什么是事务 问题2.java中(jdbc)如何控制事务 1. 事务—重点 指的的逻辑上的一组(一组sql,insert update ,delete)操作,组成 ...