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

这个\(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. 查看MySql数据库物理文件存放位置

    查找数据库文件位置使用命令 show global variables like "%datadir%";

  2. java枚举类型的优势在哪里?--一个实例

    最近在做一个项目,其中涉及到一组操作,命名为: 1. "add"; 2. "logicDel" 3. "physicDel" 4. &quo ...

  3. 当在hive中show&nbsp;table&nbsp;…

    当在hive中show table 时如果报以下错时 FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were ...

  4. IT 面试题

    1.JDK1.X新增的功能   ==>>> 2.字符流和字节流的区别,使用场景,相关类   ==>>> 字节流与字符流 在Java.io包中操作文件内容的主要有两大 ...

  5. appium自动化测试框架——在python脚本中执行dos命令

    一般我们运行dos命令,会有两种需求,一种是需要收集执行结果,如ip.device等:一种是不需要收集结果,如杀死或开启某个服务. 对应的在python中就要封装两种方法,来分别实现这两种需求. 1. ...

  6. 登录案例version1 基本登录+验证码

    package com.frxx.web.servlet; import com.frxx.domain.User; import com.frxx.service.impl.UserServiceI ...

  7. CreateJS介绍-了解CreateJS

    1.CreateJS 一款HTML5游戏开发引擎 CreateJS 是一套可以构建丰富交互体验的 HTML5 游戏的开源工具包,旨在降低 HTML5 项目的开发难度和成本,让开发者以熟悉的方式打造更具 ...

  8. C# Monitor与线程同步

    Monitor对象(C#知识点总结系列:4.C#中Monitor和Lock以及区别) 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁, ...

  9. Js 实现全屏

    <input id="Button1" type="button" value="开始全屏" onclick="kaishi ...

  10. BestCoder Round #81 (div.2) 1003 String

    题目地址:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=691&pid=1003题意:找出一个字符串满足至少 ...