| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【题解】Luogu P2257 YY的GCD -> 正文阅读 |
|
[数据结构与算法]【题解】Luogu P2257 YY的GCD |
P2257T T T 组数据。 给定 N , M N,M N,M ,求 1 ≤ x ≤ N , 1 ≤ y ≤ M 1\le x \le N,1\le y \le M 1≤x≤N,1≤y≤M , gcd ( x , y ) \text{gcd}(x,y) gcd(x,y) 为质数的对数。 T ≤ 1 0 4 ? , ? N , M ≤ 1 0 7 T\le 10^4\ , \ N,M\le 10^7 T≤104?,?N,M≤107 Solution根据题意,其实是求(假设
n
<
m
n<m
n<m ): 而 ? = μ ? ? ? 1 = ∑ d ∣ n μ ( d ) \epsilon = \mu \ *\ 1=\large\sum\limits_{d|n}\normalsize\mu(d) ?=μ???1=d∣n∑?μ(d) 故 ∑ p ∈ P r i m e ∑ i = 1 ? n p ? ∑ j = 1 ? m p ? ∑ d ∣ gcd ( i , j ) μ ( d ) \sum_{p\in Prime}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{p}\rfloor}\sum_{d|\text{gcd}(i,j)}\mu(d) p∈Prime∑?i=1∑?pn???j=1∑?pm???d∣gcd(i,j)∑?μ(d) 先枚举
d
d
d : 优化时间复杂度的一个常规操作,令
k
=
p
d
k=pd
k=pd,枚举
k
k
k : 设 f ( n ) = ∑ p ∈ P r i m e , p ∣ n μ ( n p ) f(n)=\large\sum\limits_{p\in Prime,p\mid n}\normalsize\mu(\cfrac{n}{p}) f(n)=p∈Prime,p∣n∑?μ(pn?),考虑预处理 若 n ∈ P r i m e n\in Prime n∈Prime ,则 f ( n ) = ? 1 f(n)=-1 f(n)=?1 否则,若 n n n 最小的质因子是 r r r ,则 若 r 2 ∣ n r^2\mid n r2∣n ,当 n r \cfrac{n}{r} rn? 没有平方因子时, f ( n ) = μ ( n r ) f(n)=\mu(\cfrac{n}{r}) f(n)=μ(rn?) , 否则 f ( n ) = 0 = μ ( n r ) f(n)=0=\mu(\cfrac{n}{r}) f(n)=0=μ(rn?) 若 r 2 ? p r^2 \nmid p r2?p , f ( n ) = ∑ p ∈ P r i m e , p ∣ n μ ( n p ) = μ ( n r ) + ∑ p ∈ P r i m e , p ∣ n r μ ( n p r ) μ ( r ) f(n)=\large\sum\limits_{p\in Prime,p\mid n}\normalsize\mu(\cfrac{n}{p})=\mu(\cfrac{n}{r})+\large\sum\limits_{p\in Prime,p\mid \frac{n}{r}}\normalsize\mu(\cfrac{n}{pr})\mu(r) f(n)=p∈Prime,p∣n∑?μ(pn?)=μ(rn?)+p∈Prime,p∣rn?∑?μ(prn?)μ(r) 即 f ( n ) = μ ( n r ) ? ∑ p ∈ P r i m e μ ( n p r ) = μ ( n r ) ? f ( n r ) f(n)=\mu(\cfrac{n}{r})-\large\sum\limits_{p\in Prime}\normalsize\mu(\cfrac{n}{pr})=\mu(\cfrac{n}{r})-f(\cfrac{n}{r}) f(n)=μ(rn?)?p∈Prime∑?μ(prn?)=μ(rn?)?f(rn?) 在欧拉筛的时候递推计算即可。 其余部分整除分块,时间复杂度 O ( N + N ) O(N+\sqrt N) O(N+N?) AC Code
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:57:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |