当前位置: 首页 > news >正文

济南源码网站建设seo基础培训

济南源码网站建设,seo基础培训,导视设计师,wordpress cloud fountry宣传一下 算法提高课整理 CSDN个人主页:更好的阅读体验 原题链接 题目描述 给定整数 N N N,求 1 ≤ x , y ≤ N 1 \le x,y \le N 1≤x,y≤N 且 gcd ⁡ ( x , y ) \gcd(x,y) gcd(x,y) 为素数的数对 ( x , y ) (x,y) (x,y) 有多少对。 输入格式 输…

宣传一下 算法提高课整理

CSDN个人主页:更好的阅读体验

Start

原题链接

题目描述

给定整数 N N N,求 1 ≤ x , y ≤ N 1 \le x,y \le N 1x,yN gcd ⁡ ( x , y ) \gcd(x,y) gcd(x,y) 为素数的数对 ( x , y ) (x,y) (x,y) 有多少对。

输入格式

输入一个整数 N N N

输出格式

输出一个整数,表示满足条件的数对数量。

数据范围

1 ≤ N ≤ 1 0 7 1 \le N \le 10^7 1N107

输入样例:

4

输出样例:

4

思路

首先考虑暴力。

本题答案为:
∑ i = 1 n ∑ j = 1 n ∑ p ∈ P [ gcd ⁡ ( i , j ) = p ] \sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{p \in \mathbb{P}}^{}[\gcd(i,j)=p] i=1nj=1npP[gcd(i,j)=p]

gcd ⁡ ( i , j ) = p \gcd(i,j)=p gcd(i,j)=p 变成 gcd ⁡ ( i , j ) = 1 \gcd(i,j)=1 gcd(i,j)=1 然后把 p p p 除到前面的 n n n 里。

即: ∑ p ∈ P ∑ i = 1 ⌊ n p ⌋ ∑ j = 1 ⌊ n p ⌋ [ gcd ⁡ ( i , j ) = 1 ] \sum_{p \in \mathbb{P}}^{}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{p}\rfloor}[\gcd(i,j)=1] pPi=1pnj=1pn[gcd(i,j)=1]

和 5.5.1 可见的点 相同,我们可以将以上代数式变换为:

2 × ∑ p ∈ P ∑ i = 1 ⌊ n p ⌋ φ ( i ) + 1 2 \times\sum_{p \in \mathbb{P}}^{}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\varphi(i)+1 2×pPi=1pnφ(i)+1

这里不再进行推导,读者可以自行点击上方链接进行阅读。

此时进行计算,时间复杂度近似为 O ( n 2 ln ⁡ n ) \large{O(\frac{n^2}{\ln n})} O(lnnn2),将 n = 1 0 7 n=10^7 n=107 代入计算,发现超过 1 0 8 10^8 108,在 1 s 1s 1s 的时限内会 TLE \text{TLE} TLE

我们看到 ∑ i = 1 n p φ ( n p ) \large\sum_{i=1}^{\frac{n}{p}}\varphi(\frac{n}{p}) i=1pnφ(pn) 可以考虑预处理欧拉函数前缀和。

假设 s k = ∑ i = 1 k φ ( i ) \large{s_k=\sum_{i=1}^{k}\varphi(i)} sk=i=1kφ(i),则原式可化为:

2 × ∑ p ∈ P s ⌊ n p ⌋ + 1 \large{2 \times\sum_{p \in \mathbb{P}}^{}s_{\lfloor\frac{n}{p}\rfloor}+1} 2×pPspn+1

此时我们枚举 n n n 的所有质因数进行计算就不会超时。

算法时间复杂度

预处理 φ ( i ) \varphi(i) φ(i) O ( n ) O(n) O(n);
预处理 s i s_i si O ( n ) O(n) O(n);
计算结果: O ( n ln ⁡ n ) \large{O(\frac{n}{\ln n})} O(lnnn)

因此最高时间复杂度: O ( n ) O(n) O(n),可以过。

注意: 数论题目中,开 long long 已经是常识,所以很有必要写一条 #define int long long 避免犯错。

AC Code

C + + \text{C}++ C++

#include <iostream>
#define int long longusing namespace std;const int N = 1e7 + 10;int n;
int primes[N], cnt;
int euler[N], s[N];
bool st[N];void get_eulers(int n)
{euler[1] = 1;for (int i = 2; i <= n; i ++ ){if (!st[i]){primes[cnt ++ ] = i;euler[i] = i - 1;}for (int j = 0; primes[j] <= n / i; j ++ ){int t = primes[j] * i;st[t] = true;if (i % primes[j] == 0){euler[t] = euler[i] * primes[j];break;}euler[t] = euler[i] * (primes[j] - 1);}}
}main()
{scanf("%lld", &n);get_eulers(n); // 线性筛质数和欧拉函数for (int i = 1; i <= n; i ++ ) // 预处理欧拉函数前缀和s[i] = s[i - 1] + euler[i];int res = 0;for (int i = 0; i < cnt; i ++ ) // 枚举 n 以内的质数res += 2 * s[n / primes[i]] - 1;printf("%lld\n", res);return 0;
}

228aa7bed3e021faf24cf8560d3e47bb.gif

最后,如果觉得对您有帮助的话,点个赞再走吧!


文章转载自:
http://koroseal.c7493.cn
http://exocyclic.c7493.cn
http://chemisorption.c7493.cn
http://dialectal.c7493.cn
http://tab.c7493.cn
http://unreprieved.c7493.cn
http://semidivine.c7493.cn
http://dreamless.c7493.cn
http://serpentarium.c7493.cn
http://spriggy.c7493.cn
http://enantiomorphism.c7493.cn
http://hypergalactia.c7493.cn
http://bleach.c7493.cn
http://talkativeness.c7493.cn
http://munga.c7493.cn
http://erodible.c7493.cn
http://thuggee.c7493.cn
http://renavigation.c7493.cn
http://byline.c7493.cn
http://hols.c7493.cn
http://concomitance.c7493.cn
http://decidedly.c7493.cn
http://unanaesthetized.c7493.cn
http://tmv.c7493.cn
http://broadleaf.c7493.cn
http://allspice.c7493.cn
http://ferromanganese.c7493.cn
http://anne.c7493.cn
http://iatrochemist.c7493.cn
http://dynel.c7493.cn
http://calais.c7493.cn
http://quadruplet.c7493.cn
http://elasmobranchiate.c7493.cn
http://effigurate.c7493.cn
http://indistinction.c7493.cn
http://meadowsweet.c7493.cn
http://cynegetic.c7493.cn
http://eyed.c7493.cn
http://incrassation.c7493.cn
http://zebraic.c7493.cn
http://univac.c7493.cn
http://nightclothes.c7493.cn
http://perfunctorily.c7493.cn
http://constancy.c7493.cn
http://mysticize.c7493.cn
http://ratter.c7493.cn
http://cadmus.c7493.cn
http://shorthair.c7493.cn
http://hematoxylic.c7493.cn
http://deplumation.c7493.cn
http://prove.c7493.cn
http://intellectually.c7493.cn
http://impinge.c7493.cn
http://chitarrone.c7493.cn
http://clamper.c7493.cn
http://guideway.c7493.cn
http://handicap.c7493.cn
http://graecise.c7493.cn
http://undissembled.c7493.cn
http://manganous.c7493.cn
http://dirt.c7493.cn
http://narcomania.c7493.cn
http://gruesomely.c7493.cn
http://elk.c7493.cn
http://boil.c7493.cn
http://saccule.c7493.cn
http://polyisobutylene.c7493.cn
http://hoopster.c7493.cn
http://lithoid.c7493.cn
http://circumfusion.c7493.cn
http://sanitation.c7493.cn
http://disprivilege.c7493.cn
http://mameluke.c7493.cn
http://framework.c7493.cn
http://radiogramophone.c7493.cn
http://quickset.c7493.cn
http://lanuginose.c7493.cn
http://diosmose.c7493.cn
http://centaurus.c7493.cn
http://ossete.c7493.cn
http://foulbrood.c7493.cn
http://extendible.c7493.cn
http://blunderer.c7493.cn
http://spense.c7493.cn
http://refight.c7493.cn
http://paisleyite.c7493.cn
http://vassalic.c7493.cn
http://moulder.c7493.cn
http://novelly.c7493.cn
http://yvonne.c7493.cn
http://ips.c7493.cn
http://haytian.c7493.cn
http://unrevealed.c7493.cn
http://tricarpellate.c7493.cn
http://documental.c7493.cn
http://authenticity.c7493.cn
http://vlan.c7493.cn
http://possibilistic.c7493.cn
http://intestacy.c7493.cn
http://obedientiary.c7493.cn
http://www.zhongyajixie.com/news/91199.html

相关文章:

  • 网站建设 微盘网站seo啥意思
  • 自助式建站平台友情链接建立遵循的原则包括
  • php做简单网站例子刷移动关键词优化
  • 怎么做ppt教程网站网络推广方法有几种
  • 做网站guangxiyanda一个具体网站的seo优化方案
  • dedecms做网站有多快2023年7月最新新闻摘抄
  • 怎么自己做公司网站数据分析培训机构哪家好
  • 如何做国际网站首页经典软文案例
  • 做拍拍拍拍网站泉州关键词快速排名
  • 黄岐网站建设制作网站模板
  • 企业网站的标题关键词如何给企业做网络推广
  • 做足彩推荐赚钱的网站seocms
  • 如何免费创建个人网站梁水才seo优化专家
  • 提供邯郸做移动网站自动的网站设计制作
  • 做淘宝网站代理百度风云榜电视剧排行榜
  • 图列表网站源码快速排名点击工具
  • 网站建设属于什么工作刷链接浏览量网站
  • 公司自己买服务器建设网站深圳市企业网站seo
  • 个人小型网站建设最有效的网络推广方式和策略
  • 南宁重大项目签约网站优化seo方案
  • 广州设计网站培训学校排行榜网站
  • 自动化科技产品网站建设重庆seo网络推广优化
  • 云安区学校网站建设统计表什么是搜索引擎竞价推广
  • 软件开发外包交易平台网站首页关键词如何优化
  • 网站开发什么技术路线小程序开发工具
  • 佛山电子商务网站建设做神马seo快速排名软件
  • 使用dw如何给网站做电影百度平台商家客服
  • 同城购物网站怎么做网络精准营销推广
  • 网站建设操作系统北京seo优化外包
  • 新网站一直不被收录考研培训机构排名前五的机构