[算法]Min_25筛】的更多相关文章

前言 本篇文章中使用的字母\(p\),指\(\text{任意的} p \in \text{素数集合}\) 应用场景 若函数\(f(x)\)满足, \(f(x)\)是积性函数 \(f(p)\)可以使用多项式表示. 已知\(f(p)\),要能在常数级的时间内计算\(f(p^x),x \in N^+\). Min_25筛可以在\(\Theta(\frac{n^{\frac{3}{4}}}{log_2n})\)的时间复杂度内计算\(f(x)\)的前缀和 或者说\(\Theta(n ^ {1 - \eps…
min_25 筛是由 min_25 大佬使用后普遍推广的一种新型算法,这个算法能在 \(O({n^{3\over 4}\over log~ n})\) 的复杂度内解决所有的积性函数前缀和求解问题(个人感觉套上素数定理证明的复杂度的话应该要把下面的 log 改成 ln ,不过也差不多啦~) 其实 min_25 筛的入门TXC 大佬的 blog 已经写的非常棒了QVQ 所以搬博客的话鉴于博主太懒了就不干了...直接帮 TXC 大佬安利博客完事 这篇博客主要的目的是证明网上大多没有的 min_25 筛…
P5325 [模板]Min_25筛 题目背景 模板题,无背景. 题目描述 定义积性函数$f(x)$,且$f(p^k)=p^k(p^k-1)$($p$是一个质数),求 $$\sum_{i=1}^n f(x)$$ 对$10^9+7$取模. 输入输出格式 输入格式: 一行一个整数$n$. 输出格式: 一个整数表示答案. 输入输出样例 输入样例#1: 复制 10 输出样例#1: 复制 263 输入样例#2: 复制 1000000000 输出样例#2: 复制 710164413 说明 $f(1)=1,f(…
目录 1.什么是min_25筛 2.前置知识 2.1.数论函数 2.2.埃拉托色尼筛 2.3.欧拉筛 3.min_25筛 3.1.计算质数贡献 3.2.计算总贡献 3.3.实现 4.例题 4.1.[LOJ]区间素数个数 4.2.[LG P4213]杜教筛 1.什么是min_25筛          min_25 筛和洲阁筛.杜教筛一样,是一种低于线性的用于求积性函数前缀和的筛法.常用 min_25 筛的时间复杂度为\(O(\frac{n^{\frac34}}{\log n})\),而经过优化可以…
  赛上想写,Track Lost 了属于是. \(\mathscr{Intro}\)   Min_25 筛是用于求积性函数前缀和,同时顺带求出一些"有意思"的信息的筛法.   一些记号约定 \(\mathbb P\) 为素数集,对于以 \(p\) 为记号的数,有 \(p\in\mathbb P\). \(p_i\) 表示第 \(i\) 小的素数.特别地,\(p_0=1\). \(\newcommand{\lpf}[0]{\operatorname{lpf}} \lpf(n)\) 表示…
题目大意 给你 \(n,m\),求 \[ \sum_{i=1}^n\sum_{x_1,x_2,\ldots,x_m=1}^i\operatorname{lcm}(\gcd(i,x_1),\gcd(i,x_2),\ldots,\gcd(i,x_m)) \] 对 \({10}^9+7\) 取模. \(nm\leq {10}^9\) 题解 先推一下式子: \[ ans=\sum_{i=1}^n\sum_{x_1,x_2,\ldots,x_m=1}^i\operatorname{lcm}(\gcd(i,…
原文链接https://www.cnblogs.com/zhouzhendong/p/Min-25.html 前置技能 埃氏筛法 整除分块(这里有提到) 本文概要 1. 问题模型 2. Min_25 筛 3. 模板题以及模板代码 问题模型 有一个积性函数 $f$ ,对于所有质数 $p$,$f(p)$ 是关于 $p$ 的多项式,$f(p^k)$ 非常容易计算(不一定是关于 p 的多项式). 求 $$\sum_{i=1}^{n} f(i)$$ $n\leq 10^{10}$ ${\rm Time\…
传送门 省选之前做数论题会不会有Debuff啊 这道题显然是要求\(1\)到\(x\)中所有数第二大质因子的大小之和,如果不存在第二大质因子就是\(0\) 线性筛似乎可以做,但是\(10^{11}\)的数据范围让人望而却步,而杜教筛需要对\(f(x)\)找到一个函数\(g(x)\)做狄利克雷卷积成为一个好算前缀和的函数\(h(x)\),相信各位是找不到这样一个函数的.所以考虑Min_25筛.但用Min_25筛还不知道要筛什么东西,故从Min_25筛最后的计算过程入手. Min_25筛的每一层递归…
题目大意 给你 \(n,k\),求 \[ S_k(n)=\sum_{i=1}^n\sigma_0(i^k) \] 对 \(2^{64}\) 取模. 题解 一个min_25筛模板题. 令 \(f(n)=\sigma_0(n^k)\),那么 \(S_k(n)=\sum_{i=1}^nf(i)\),而且 \[ \begin{cases} f(1)&=1\\ f(p)&=k+1\\ f(p^c)&=kc+1 \end{cases} \] 直接上min_25筛就好了. 时间复杂度:\(O(\…
题目描述 记\(sgcd(i,j)\)为\(i,j\)的次大公约数. 给你\(n\),求 \[ \sum_{i=1}^n\sum_{j=1}^n{sgcd(i,j)}^k \] 对\(2^{32}\)取模. \(n\leq {10}^9,k\leq 50\) 题解 记\(f(n)\)为\(n\)的次大因数 显然\(sgcd(i,j)=f(gcd(i,j))\) 先推一波式子. \[ \begin{align} &\sum_{i=1}^n\sum_{j=1}^n{sgcd(i,j)}^k\\ =&a…